471.81/291.54 WORST_CASE(Omega(n^1), O(n^2)) 471.81/291.55 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 471.81/291.55 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 471.81/291.55 471.81/291.55 471.81/291.55 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, n^2). 471.81/291.55 471.81/291.55 (0) CpxTRS 471.81/291.55 (1) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] 471.81/291.55 (2) CpxWeightedTrs 471.81/291.55 (3) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] 471.81/291.55 (4) CpxTypedWeightedTrs 471.81/291.55 (5) CompletionProof [UPPER BOUND(ID), 0 ms] 471.81/291.55 (6) CpxTypedWeightedCompleteTrs 471.81/291.55 (7) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 1 ms] 471.81/291.55 (8) CpxRNTS 471.81/291.55 (9) CompleteCoflocoProof [FINISHED, 1076 ms] 471.81/291.55 (10) BOUNDS(1, n^2) 471.81/291.55 (11) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] 471.81/291.55 (12) TRS for Loop Detection 471.81/291.55 (13) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] 471.81/291.55 (14) BEST 471.81/291.55 (15) proven lower bound 471.81/291.55 (16) LowerBoundPropagationProof [FINISHED, 0 ms] 471.81/291.55 (17) BOUNDS(n^1, INF) 471.81/291.55 (18) TRS for Loop Detection 471.81/291.55 471.81/291.55 471.81/291.55 ---------------------------------------- 471.81/291.55 471.81/291.55 (0) 471.81/291.55 Obligation: 471.81/291.55 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, n^2). 471.81/291.55 471.81/291.55 471.81/291.55 The TRS R consists of the following rules: 471.81/291.55 471.81/291.55 cond1(true, x) -> cond2(even(x), x) 471.81/291.55 cond2(true, x) -> cond1(neq(x, 0), div2(x)) 471.81/291.55 cond2(false, x) -> cond1(neq(x, 0), p(x)) 471.81/291.55 neq(0, 0) -> false 471.81/291.55 neq(0, s(x)) -> true 471.81/291.55 neq(s(x), 0) -> true 471.81/291.55 neq(s(x), s(y)) -> neq(x, y) 471.81/291.55 even(0) -> true 471.81/291.55 even(s(0)) -> false 471.81/291.55 even(s(s(x))) -> even(x) 471.81/291.55 div2(0) -> 0 471.81/291.55 div2(s(0)) -> 0 471.81/291.55 div2(s(s(x))) -> s(div2(x)) 471.81/291.55 p(0) -> 0 471.81/291.55 p(s(x)) -> x 471.81/291.55 471.81/291.55 S is empty. 471.81/291.55 Rewrite Strategy: INNERMOST 471.81/291.55 ---------------------------------------- 471.81/291.55 471.81/291.55 (1) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) 471.81/291.55 Transformed relative TRS to weighted TRS 471.81/291.55 ---------------------------------------- 471.81/291.55 471.81/291.55 (2) 471.81/291.55 Obligation: 471.81/291.55 The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^2). 471.81/291.55 471.81/291.55 471.81/291.55 The TRS R consists of the following rules: 471.81/291.55 471.81/291.55 cond1(true, x) -> cond2(even(x), x) [1] 471.81/291.55 cond2(true, x) -> cond1(neq(x, 0), div2(x)) [1] 471.81/291.55 cond2(false, x) -> cond1(neq(x, 0), p(x)) [1] 471.81/291.55 neq(0, 0) -> false [1] 471.81/291.55 neq(0, s(x)) -> true [1] 471.81/291.55 neq(s(x), 0) -> true [1] 471.81/291.55 neq(s(x), s(y)) -> neq(x, y) [1] 471.81/291.55 even(0) -> true [1] 471.81/291.55 even(s(0)) -> false [1] 471.81/291.55 even(s(s(x))) -> even(x) [1] 471.81/291.55 div2(0) -> 0 [1] 471.81/291.55 div2(s(0)) -> 0 [1] 471.81/291.55 div2(s(s(x))) -> s(div2(x)) [1] 471.81/291.55 p(0) -> 0 [1] 471.81/291.55 p(s(x)) -> x [1] 471.81/291.55 471.81/291.55 Rewrite Strategy: INNERMOST 471.81/291.55 ---------------------------------------- 471.81/291.55 471.81/291.55 (3) TypeInferenceProof (BOTH BOUNDS(ID, ID)) 471.81/291.55 Infered types. 471.81/291.55 ---------------------------------------- 471.81/291.55 471.81/291.55 (4) 471.81/291.55 Obligation: 471.81/291.55 Runtime Complexity Weighted TRS with Types. 471.81/291.55 The TRS R consists of the following rules: 471.81/291.55 471.81/291.55 cond1(true, x) -> cond2(even(x), x) [1] 471.81/291.55 cond2(true, x) -> cond1(neq(x, 0), div2(x)) [1] 471.81/291.55 cond2(false, x) -> cond1(neq(x, 0), p(x)) [1] 471.81/291.55 neq(0, 0) -> false [1] 471.81/291.55 neq(0, s(x)) -> true [1] 471.81/291.55 neq(s(x), 0) -> true [1] 471.81/291.55 neq(s(x), s(y)) -> neq(x, y) [1] 471.81/291.55 even(0) -> true [1] 471.81/291.55 even(s(0)) -> false [1] 471.81/291.55 even(s(s(x))) -> even(x) [1] 471.81/291.55 div2(0) -> 0 [1] 471.81/291.55 div2(s(0)) -> 0 [1] 471.81/291.55 div2(s(s(x))) -> s(div2(x)) [1] 471.81/291.55 p(0) -> 0 [1] 471.81/291.55 p(s(x)) -> x [1] 471.81/291.55 471.81/291.55 The TRS has the following type information: 471.81/291.55 cond1 :: true:false -> 0:s:y -> cond1:cond2 471.81/291.55 true :: true:false 471.81/291.55 cond2 :: true:false -> 0:s:y -> cond1:cond2 471.81/291.55 even :: 0:s:y -> true:false 471.81/291.55 neq :: 0:s:y -> 0:s:y -> true:false 471.81/291.55 0 :: 0:s:y 471.81/291.55 div2 :: 0:s:y -> 0:s:y 471.81/291.55 false :: true:false 471.81/291.55 p :: 0:s:y -> 0:s:y 471.81/291.55 s :: 0:s:y -> 0:s:y 471.81/291.55 y :: 0:s:y 471.81/291.55 471.81/291.55 Rewrite Strategy: INNERMOST 471.81/291.55 ---------------------------------------- 471.81/291.55 471.81/291.55 (5) CompletionProof (UPPER BOUND(ID)) 471.81/291.55 The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: 471.81/291.55 471.81/291.55 cond1(v0, v1) -> null_cond1 [0] 471.81/291.55 neq(v0, v1) -> null_neq [0] 471.81/291.55 even(v0) -> null_even [0] 471.81/291.55 div2(v0) -> null_div2 [0] 471.81/291.55 p(v0) -> null_p [0] 471.81/291.55 cond2(v0, v1) -> null_cond2 [0] 471.81/291.55 471.81/291.55 And the following fresh constants: null_cond1, null_neq, null_even, null_div2, null_p, null_cond2 471.81/291.55 471.81/291.55 ---------------------------------------- 471.81/291.55 471.81/291.55 (6) 471.81/291.55 Obligation: 471.81/291.55 Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: 471.81/291.55 471.81/291.55 Runtime Complexity Weighted TRS with Types. 471.81/291.55 The TRS R consists of the following rules: 471.81/291.55 471.81/291.55 cond1(true, x) -> cond2(even(x), x) [1] 471.81/291.55 cond2(true, x) -> cond1(neq(x, 0), div2(x)) [1] 471.81/291.55 cond2(false, x) -> cond1(neq(x, 0), p(x)) [1] 471.81/291.55 neq(0, 0) -> false [1] 471.81/291.55 neq(0, s(x)) -> true [1] 471.81/291.55 neq(s(x), 0) -> true [1] 471.81/291.55 neq(s(x), s(y)) -> neq(x, y) [1] 471.81/291.55 even(0) -> true [1] 471.81/291.55 even(s(0)) -> false [1] 471.81/291.55 even(s(s(x))) -> even(x) [1] 471.81/291.55 div2(0) -> 0 [1] 471.81/291.55 div2(s(0)) -> 0 [1] 471.81/291.55 div2(s(s(x))) -> s(div2(x)) [1] 471.81/291.55 p(0) -> 0 [1] 471.81/291.55 p(s(x)) -> x [1] 471.81/291.55 cond1(v0, v1) -> null_cond1 [0] 471.81/291.55 neq(v0, v1) -> null_neq [0] 471.81/291.55 even(v0) -> null_even [0] 471.81/291.55 div2(v0) -> null_div2 [0] 471.81/291.55 p(v0) -> null_p [0] 471.81/291.55 cond2(v0, v1) -> null_cond2 [0] 471.81/291.55 471.81/291.55 The TRS has the following type information: 471.81/291.55 cond1 :: true:false:null_neq:null_even -> 0:s:y:null_div2:null_p -> null_cond1:null_cond2 471.81/291.55 true :: true:false:null_neq:null_even 471.81/291.55 cond2 :: true:false:null_neq:null_even -> 0:s:y:null_div2:null_p -> null_cond1:null_cond2 471.81/291.55 even :: 0:s:y:null_div2:null_p -> true:false:null_neq:null_even 471.81/291.55 neq :: 0:s:y:null_div2:null_p -> 0:s:y:null_div2:null_p -> true:false:null_neq:null_even 471.81/291.55 0 :: 0:s:y:null_div2:null_p 471.81/291.55 div2 :: 0:s:y:null_div2:null_p -> 0:s:y:null_div2:null_p 471.81/291.55 false :: true:false:null_neq:null_even 471.81/291.55 p :: 0:s:y:null_div2:null_p -> 0:s:y:null_div2:null_p 471.81/291.55 s :: 0:s:y:null_div2:null_p -> 0:s:y:null_div2:null_p 471.81/291.55 y :: 0:s:y:null_div2:null_p 471.81/291.55 null_cond1 :: null_cond1:null_cond2 471.81/291.55 null_neq :: true:false:null_neq:null_even 471.81/291.55 null_even :: true:false:null_neq:null_even 471.81/291.55 null_div2 :: 0:s:y:null_div2:null_p 471.81/291.55 null_p :: 0:s:y:null_div2:null_p 471.81/291.55 null_cond2 :: null_cond1:null_cond2 471.81/291.55 471.81/291.55 Rewrite Strategy: INNERMOST 471.81/291.55 ---------------------------------------- 471.81/291.55 471.81/291.55 (7) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) 471.81/291.55 Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. 471.81/291.55 The constant constructors are abstracted as follows: 471.81/291.55 471.81/291.55 true => 2 471.81/291.55 0 => 0 471.81/291.55 false => 1 471.81/291.55 y => 1 471.81/291.55 null_cond1 => 0 471.81/291.55 null_neq => 0 471.81/291.55 null_even => 0 471.81/291.55 null_div2 => 0 471.81/291.55 null_p => 0 471.81/291.55 null_cond2 => 0 471.81/291.55 471.81/291.55 ---------------------------------------- 471.81/291.55 471.81/291.55 (8) 471.81/291.55 Obligation: 471.81/291.55 Complexity RNTS consisting of the following rules: 471.81/291.55 471.81/291.55 cond1(z, z') -{ 1 }-> cond2(even(x), x) :|: z = 2, z' = x, x >= 0 471.81/291.55 cond1(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 471.81/291.55 cond2(z, z') -{ 1 }-> cond1(neq(x, 0), p(x)) :|: z' = x, z = 1, x >= 0 471.81/291.55 cond2(z, z') -{ 1 }-> cond1(neq(x, 0), div2(x)) :|: z = 2, z' = x, x >= 0 471.81/291.55 cond2(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 471.81/291.55 div2(z) -{ 1 }-> 0 :|: z = 0 471.81/291.55 div2(z) -{ 1 }-> 0 :|: z = 1 + 0 471.81/291.55 div2(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 471.81/291.55 div2(z) -{ 1 }-> 1 + div2(x) :|: x >= 0, z = 1 + (1 + x) 471.81/291.55 even(z) -{ 1 }-> even(x) :|: x >= 0, z = 1 + (1 + x) 471.81/291.55 even(z) -{ 1 }-> 2 :|: z = 0 471.81/291.55 even(z) -{ 1 }-> 1 :|: z = 1 + 0 471.81/291.55 even(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 471.81/291.55 neq(z, z') -{ 1 }-> neq(x, 1) :|: z' = 1 + 1, x >= 0, z = 1 + x 471.81/291.55 neq(z, z') -{ 1 }-> 2 :|: z' = 1 + x, x >= 0, z = 0 471.81/291.55 neq(z, z') -{ 1 }-> 2 :|: x >= 0, z = 1 + x, z' = 0 471.81/291.55 neq(z, z') -{ 1 }-> 1 :|: z = 0, z' = 0 471.81/291.55 neq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 471.81/291.55 p(z) -{ 1 }-> x :|: x >= 0, z = 1 + x 471.81/291.55 p(z) -{ 1 }-> 0 :|: z = 0 471.81/291.55 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 471.81/291.55 471.81/291.55 Only complete derivations are relevant for the runtime complexity. 471.81/291.55 471.81/291.55 ---------------------------------------- 471.81/291.55 471.81/291.55 (9) CompleteCoflocoProof (FINISHED) 471.81/291.55 Transformed the RNTS (where only complete derivations are relevant) into cost relations for CoFloCo: 471.81/291.55 471.81/291.55 eq(start(V1, V),0,[cond1(V1, V, Out)],[V1 >= 0,V >= 0]). 471.81/291.55 eq(start(V1, V),0,[cond2(V1, V, Out)],[V1 >= 0,V >= 0]). 471.81/291.55 eq(start(V1, V),0,[neq(V1, V, Out)],[V1 >= 0,V >= 0]). 471.81/291.55 eq(start(V1, V),0,[even(V1, Out)],[V1 >= 0]). 471.81/291.55 eq(start(V1, V),0,[div2(V1, Out)],[V1 >= 0]). 471.81/291.55 eq(start(V1, V),0,[p(V1, Out)],[V1 >= 0]). 471.81/291.55 eq(cond1(V1, V, Out),1,[even(V2, Ret0),cond2(Ret0, V2, Ret)],[Out = Ret,V1 = 2,V = V2,V2 >= 0]). 471.81/291.55 eq(cond2(V1, V, Out),1,[neq(V3, 0, Ret01),div2(V3, Ret1),cond1(Ret01, Ret1, Ret2)],[Out = Ret2,V1 = 2,V = V3,V3 >= 0]). 471.81/291.55 eq(cond2(V1, V, Out),1,[neq(V4, 0, Ret02),p(V4, Ret11),cond1(Ret02, Ret11, Ret3)],[Out = Ret3,V = V4,V1 = 1,V4 >= 0]). 471.81/291.55 eq(neq(V1, V, Out),1,[],[Out = 1,V1 = 0,V = 0]). 471.81/291.55 eq(neq(V1, V, Out),1,[],[Out = 2,V = 1 + V5,V5 >= 0,V1 = 0]). 471.81/291.55 eq(neq(V1, V, Out),1,[],[Out = 2,V6 >= 0,V1 = 1 + V6,V = 0]). 471.81/291.55 eq(neq(V1, V, Out),1,[neq(V7, 1, Ret4)],[Out = Ret4,V = 2,V7 >= 0,V1 = 1 + V7]). 471.81/291.55 eq(even(V1, Out),1,[],[Out = 2,V1 = 0]). 471.81/291.55 eq(even(V1, Out),1,[],[Out = 1,V1 = 1]). 471.81/291.55 eq(even(V1, Out),1,[even(V8, Ret5)],[Out = Ret5,V8 >= 0,V1 = 2 + V8]). 471.81/291.55 eq(div2(V1, Out),1,[],[Out = 0,V1 = 0]). 471.81/291.55 eq(div2(V1, Out),1,[],[Out = 0,V1 = 1]). 471.81/291.55 eq(div2(V1, Out),1,[div2(V9, Ret12)],[Out = 1 + Ret12,V9 >= 0,V1 = 2 + V9]). 471.81/291.55 eq(p(V1, Out),1,[],[Out = 0,V1 = 0]). 471.81/291.55 eq(p(V1, Out),1,[],[Out = V10,V10 >= 0,V1 = 1 + V10]). 471.81/291.55 eq(cond1(V1, V, Out),0,[],[Out = 0,V12 >= 0,V11 >= 0,V1 = V12,V = V11]). 471.81/291.55 eq(neq(V1, V, Out),0,[],[Out = 0,V14 >= 0,V13 >= 0,V1 = V14,V = V13]). 471.81/291.55 eq(even(V1, Out),0,[],[Out = 0,V15 >= 0,V1 = V15]). 471.81/291.55 eq(div2(V1, Out),0,[],[Out = 0,V16 >= 0,V1 = V16]). 471.81/291.55 eq(p(V1, Out),0,[],[Out = 0,V17 >= 0,V1 = V17]). 471.81/291.55 eq(cond2(V1, V, Out),0,[],[Out = 0,V18 >= 0,V19 >= 0,V1 = V18,V = V19]). 471.81/291.55 input_output_vars(cond1(V1,V,Out),[V1,V],[Out]). 471.81/291.55 input_output_vars(cond2(V1,V,Out),[V1,V],[Out]). 471.81/291.55 input_output_vars(neq(V1,V,Out),[V1,V],[Out]). 471.81/291.55 input_output_vars(even(V1,Out),[V1],[Out]). 471.81/291.55 input_output_vars(div2(V1,Out),[V1],[Out]). 471.81/291.55 input_output_vars(p(V1,Out),[V1],[Out]). 471.81/291.55 471.81/291.55 471.81/291.55 CoFloCo proof output: 471.81/291.55 Preprocessing Cost Relations 471.81/291.55 ===================================== 471.81/291.55 471.81/291.55 #### Computed strongly connected components 471.81/291.55 0. recursive : [div2/2] 471.81/291.55 1. recursive : [neq/3] 471.81/291.55 2. non_recursive : [p/2] 471.81/291.55 3. recursive : [even/2] 471.81/291.55 4. recursive : [cond1/3,cond2/3] 471.81/291.55 5. non_recursive : [start/2] 471.81/291.55 471.81/291.55 #### Obtained direct recursion through partial evaluation 471.81/291.55 0. SCC is partially evaluated into div2/2 471.81/291.55 1. SCC is partially evaluated into neq/3 471.81/291.55 2. SCC is partially evaluated into p/2 471.81/291.55 3. SCC is partially evaluated into even/2 471.81/291.55 4. SCC is partially evaluated into cond2/3 471.81/291.55 5. SCC is partially evaluated into start/2 471.81/291.55 471.81/291.55 Control-Flow Refinement of Cost Relations 471.81/291.55 ===================================== 471.81/291.56 471.81/291.56 ### Specialization of cost equations div2/2 471.81/291.56 * CE 23 is refined into CE [29] 471.81/291.56 * CE 22 is refined into CE [30] 471.81/291.56 * CE 25 is refined into CE [31] 471.81/291.56 * CE 24 is refined into CE [32] 471.81/291.56 471.81/291.56 471.81/291.56 ### Cost equations --> "Loop" of div2/2 471.81/291.56 * CEs [32] --> Loop 20 471.81/291.56 * CEs [29] --> Loop 21 471.81/291.56 * CEs [30,31] --> Loop 22 471.81/291.56 471.81/291.56 ### Ranking functions of CR div2(V1,Out) 471.81/291.56 * RF of phase [20]: [V1-1] 471.81/291.56 471.81/291.56 #### Partial ranking functions of CR div2(V1,Out) 471.81/291.56 * Partial RF of phase [20]: 471.81/291.56 - RF of loop [20:1]: 471.81/291.56 V1-1 471.81/291.56 471.81/291.56 471.81/291.56 ### Specialization of cost equations neq/3 471.81/291.56 * CE 21 is refined into CE [33] 471.81/291.56 * CE 19 is refined into CE [34] 471.81/291.56 * CE 18 is refined into CE [35] 471.81/291.56 * CE 17 is refined into CE [36] 471.81/291.56 * CE 20 is refined into CE [37] 471.81/291.56 471.81/291.56 471.81/291.56 ### Cost equations --> "Loop" of neq/3 471.81/291.56 * CEs [37] --> Loop 23 471.81/291.56 * CEs [33] --> Loop 24 471.81/291.56 * CEs [34] --> Loop 25 471.81/291.56 * CEs [35] --> Loop 26 471.81/291.56 * CEs [36] --> Loop 27 471.81/291.56 471.81/291.56 ### Ranking functions of CR neq(V1,V,Out) 471.81/291.56 471.81/291.56 #### Partial ranking functions of CR neq(V1,V,Out) 471.81/291.56 471.81/291.56 471.81/291.56 ### Specialization of cost equations p/2 471.81/291.56 * CE 27 is refined into CE [38] 471.81/291.56 * CE 26 is refined into CE [39] 471.81/291.56 * CE 28 is refined into CE [40] 471.81/291.56 471.81/291.56 471.81/291.56 ### Cost equations --> "Loop" of p/2 471.81/291.56 * CEs [38] --> Loop 28 471.81/291.56 * CEs [39,40] --> Loop 29 471.81/291.56 471.81/291.56 ### Ranking functions of CR p(V1,Out) 471.81/291.56 471.81/291.56 #### Partial ranking functions of CR p(V1,Out) 471.81/291.56 471.81/291.56 471.81/291.56 ### Specialization of cost equations even/2 471.81/291.56 * CE 11 is refined into CE [41] 471.81/291.56 * CE 9 is refined into CE [42] 471.81/291.56 * CE 8 is refined into CE [43] 471.81/291.56 * CE 10 is refined into CE [44] 471.81/291.56 471.81/291.56 471.81/291.56 ### Cost equations --> "Loop" of even/2 471.81/291.56 * CEs [44] --> Loop 30 471.81/291.56 * CEs [41] --> Loop 31 471.81/291.56 * CEs [42] --> Loop 32 471.81/291.56 * CEs [43] --> Loop 33 471.81/291.56 471.81/291.56 ### Ranking functions of CR even(V1,Out) 471.81/291.56 * RF of phase [30]: [V1-1] 471.81/291.56 471.81/291.56 #### Partial ranking functions of CR even(V1,Out) 471.81/291.56 * Partial RF of phase [30]: 471.81/291.56 - RF of loop [30:1]: 471.81/291.56 V1-1 471.81/291.56 471.81/291.56 471.81/291.56 ### Specialization of cost equations cond2/3 471.81/291.56 * CE 13 is refined into CE [45,46,47,48,49] 471.81/291.56 * CE 12 is refined into CE [50,51,52,53,54] 471.81/291.56 * CE 16 is refined into CE [55] 471.81/291.56 * CE 15 is refined into CE [56,57,58,59,60,61] 471.81/291.56 * CE 14 is refined into CE [62,63,64,65,66,67,68] 471.81/291.56 471.81/291.56 471.81/291.56 ### Cost equations --> "Loop" of cond2/3 471.81/291.56 * CEs [61] --> Loop 34 471.81/291.56 * CEs [56] --> Loop 35 471.81/291.56 * CEs [60] --> Loop 36 471.81/291.56 * CEs [58] --> Loop 37 471.81/291.56 * CEs [59] --> Loop 38 471.81/291.56 * CEs [57] --> Loop 39 471.81/291.56 * CEs [68] --> Loop 40 471.81/291.56 * CEs [67] --> Loop 41 471.81/291.56 * CEs [66] --> Loop 42 471.81/291.56 * CEs [63] --> Loop 43 471.81/291.56 * CEs [65] --> Loop 44 471.81/291.56 * CEs [62,64] --> Loop 45 471.81/291.56 * CEs [45,46,47,48,49] --> Loop 46 471.81/291.56 * CEs [50,51,52,53,54,55] --> Loop 47 471.81/291.56 471.81/291.56 ### Ranking functions of CR cond2(V1,V,Out) 471.81/291.56 * RF of phase [34,36,40,41]: [V-2,-2*V1+V+1,-V1+V-1] 471.81/291.56 471.81/291.56 #### Partial ranking functions of CR cond2(V1,V,Out) 471.81/291.56 * Partial RF of phase [34,36,40,41]: 471.81/291.56 - RF of loop [34:1,41:1]: 471.81/291.56 V-3 471.81/291.56 - RF of loop [36:1]: 471.81/291.56 V/3-5/3 471.81/291.56 V1-1 depends on loops [40:1] 471.81/291.56 - RF of loop [40:1]: 471.81/291.56 V-2 471.81/291.56 -V1+2 depends on loops [36:1] 471.81/291.56 471.81/291.56 471.81/291.56 ### Specialization of cost equations start/2 471.81/291.56 * CE 1 is refined into CE [69] 471.81/291.56 * CE 2 is refined into CE [70,71,72,73,74,75,76,77,78] 471.81/291.56 * CE 3 is refined into CE [79,80,81] 471.81/291.56 * CE 4 is refined into CE [82,83,84,85,86] 471.81/291.56 * CE 5 is refined into CE [87,88,89,90,91] 471.81/291.56 * CE 6 is refined into CE [92,93] 471.81/291.56 * CE 7 is refined into CE [94,95] 471.81/291.56 471.81/291.56 471.81/291.56 ### Cost equations --> "Loop" of start/2 471.81/291.56 * CEs [81] --> Loop 48 471.81/291.56 * CEs [85] --> Loop 49 471.81/291.56 * CEs [72] --> Loop 50 471.81/291.56 * CEs [70,71,73,74,75,76,77,78,80] --> Loop 51 471.81/291.56 * CEs [84,88] --> Loop 52 471.81/291.56 * CEs [69,79,82,83,86,87,89,90,91,92,93,94,95] --> Loop 53 471.81/291.56 471.81/291.56 ### Ranking functions of CR start(V1,V) 471.81/291.56 471.81/291.56 #### Partial ranking functions of CR start(V1,V) 471.81/291.56 471.81/291.56 471.81/291.56 Computing Bounds 471.81/291.56 ===================================== 471.81/291.56 471.81/291.56 #### Cost of chains of div2(V1,Out): 471.81/291.56 * Chain [[20],22]: 1*it(20)+1 471.81/291.56 Such that:it(20) =< 2*Out 471.81/291.56 471.81/291.56 with precondition: [Out>=1,V1>=2*Out] 471.81/291.56 471.81/291.56 * Chain [[20],21]: 1*it(20)+1 471.81/291.56 Such that:it(20) =< 2*Out 471.81/291.56 471.81/291.56 with precondition: [V1=2*Out+1,V1>=3] 471.81/291.56 471.81/291.56 * Chain [22]: 1 471.81/291.56 with precondition: [Out=0,V1>=0] 471.81/291.56 471.81/291.56 * Chain [21]: 1 471.81/291.56 with precondition: [V1=1,Out=0] 471.81/291.56 471.81/291.56 471.81/291.56 #### Cost of chains of neq(V1,V,Out): 471.81/291.56 * Chain [27]: 1 471.81/291.56 with precondition: [V1=0,V=0,Out=1] 471.81/291.56 471.81/291.56 * Chain [26]: 1 471.81/291.56 with precondition: [V1=0,Out=2,V>=1] 471.81/291.56 471.81/291.56 * Chain [25]: 1 471.81/291.56 with precondition: [V=0,Out=2,V1>=1] 471.81/291.56 471.81/291.56 * Chain [24]: 0 471.81/291.56 with precondition: [Out=0,V1>=0,V>=0] 471.81/291.56 471.81/291.56 * Chain [23,26]: 2 471.81/291.56 with precondition: [V1=1,V=2,Out=2] 471.81/291.56 471.81/291.56 * Chain [23,24]: 1 471.81/291.56 with precondition: [V=2,Out=0,V1>=1] 471.81/291.56 471.81/291.56 471.81/291.56 #### Cost of chains of p(V1,Out): 471.81/291.56 * Chain [29]: 1 471.81/291.56 with precondition: [Out=0,V1>=0] 471.81/291.56 471.81/291.56 * Chain [28]: 1 471.81/291.56 with precondition: [V1=Out+1,V1>=1] 471.81/291.56 471.81/291.56 471.81/291.56 #### Cost of chains of even(V1,Out): 471.81/291.56 * Chain [[30],33]: 1*it(30)+1 471.81/291.56 Such that:it(30) =< V1 471.81/291.56 471.81/291.56 with precondition: [Out=2,V1>=2] 471.81/291.56 471.81/291.56 * Chain [[30],32]: 1*it(30)+1 471.81/291.56 Such that:it(30) =< V1 471.81/291.56 471.81/291.56 with precondition: [Out=1,V1>=3] 471.81/291.56 471.81/291.56 * Chain [[30],31]: 1*it(30)+0 471.81/291.56 Such that:it(30) =< V1 471.81/291.56 471.81/291.56 with precondition: [Out=0,V1>=2] 471.81/291.56 471.81/291.56 * Chain [33]: 1 471.81/291.56 with precondition: [V1=0,Out=2] 471.81/291.56 471.81/291.56 * Chain [32]: 1 471.81/291.56 with precondition: [V1=1,Out=1] 471.81/291.56 471.81/291.56 * Chain [31]: 0 471.81/291.56 with precondition: [Out=0,V1>=0] 471.81/291.56 471.81/291.56 471.81/291.56 #### Cost of chains of cond2(V1,V,Out): 471.81/291.56 * Chain [[34,36,40,41],47]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+3 471.81/291.56 Such that:aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+2 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(16) =< -V1+V 471.81/291.56 aux(17) =< V 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(16) 471.81/291.56 it(36) =< aux(16) 471.81/291.56 it(34) =< aux(17) 471.81/291.56 it(36) =< aux(17) 471.81/291.56 s(21) =< aux(17) 471.81/291.56 aux(9) =< aux(17) 471.81/291.56 s(22) =< aux(17)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(17) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],46]: 20*it(34)+4*s(20)+6*s(21)+1*s(26)+1*s(27)+3 471.81/291.56 Such that:aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+4 471.81/291.56 aux(12) =< -V1+V 471.81/291.56 aux(13) =< -V1+V+2 471.81/291.56 aux(19) =< V 471.81/291.56 it(34) =< aux(19) 471.81/291.56 s(21) =< aux(19) 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(34) =< aux(12) 471.81/291.56 it(34) =< aux(13) 471.81/291.56 aux(9) =< aux(19) 471.81/291.56 s(22) =< aux(19)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(19) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],45,47]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+8 471.81/291.56 Such that:aux(11) =< -2*V1+V 471.81/291.56 aux(10) =< -2*V1+V+1 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(20) =< -V1+V 471.81/291.56 aux(21) =< V 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(20) 471.81/291.56 it(36) =< aux(20) 471.81/291.56 it(34) =< aux(21) 471.81/291.56 it(36) =< aux(21) 471.81/291.56 s(21) =< aux(21) 471.81/291.56 aux(9) =< aux(21) 471.81/291.56 s(22) =< aux(21)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(21) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=2*V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],45,46]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+8 471.81/291.56 Such that:aux(11) =< -2*V1+V 471.81/291.56 aux(10) =< -2*V1+V+1 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(22) =< -V1+V 471.81/291.56 aux(23) =< V 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(22) 471.81/291.56 it(36) =< aux(22) 471.81/291.56 it(34) =< aux(23) 471.81/291.56 it(36) =< aux(23) 471.81/291.56 s(21) =< aux(23) 471.81/291.56 aux(9) =< aux(23) 471.81/291.56 s(22) =< aux(23)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(23) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=2*V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],43,47]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+7 471.81/291.56 Such that:aux(11) =< -2*V1+V 471.81/291.56 aux(10) =< -2*V1+V+1 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(24) =< -V1+V 471.81/291.56 aux(25) =< V 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(24) 471.81/291.56 it(36) =< aux(24) 471.81/291.56 it(34) =< aux(25) 471.81/291.56 it(36) =< aux(25) 471.81/291.56 s(21) =< aux(25) 471.81/291.56 aux(9) =< aux(25) 471.81/291.56 s(22) =< aux(25)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(25) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=2*V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],42,47]: 20*it(34)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+1*s(33)+7 471.81/291.56 Such that:aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+2 471.81/291.56 aux(12) =< -V1+V 471.81/291.56 aux(26) =< -V1+V+1 471.81/291.56 aux(27) =< V 471.81/291.56 s(33) =< aux(26) 471.81/291.56 it(34) =< aux(27) 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(34) =< aux(12) 471.81/291.56 it(34) =< aux(26) 471.81/291.56 s(21) =< aux(27) 471.81/291.56 aux(9) =< aux(27) 471.81/291.56 s(22) =< aux(27)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(27) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=2*V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],39,47]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+7 471.81/291.56 Such that:aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+2 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(28) =< -V1+V 471.81/291.56 aux(29) =< V 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(28) 471.81/291.56 it(36) =< aux(28) 471.81/291.56 it(34) =< aux(29) 471.81/291.56 it(36) =< aux(29) 471.81/291.56 s(21) =< aux(29) 471.81/291.56 aux(9) =< aux(29) 471.81/291.56 s(22) =< aux(29)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(29) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],38,47]: 20*it(34)+4*s(20)+4*s(21)+1*s(26)+1*s(27)+1*s(37)+7 471.81/291.56 Such that:aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+4 471.81/291.56 aux(12) =< -V1+V 471.81/291.56 aux(30) =< -V1+V+2 471.81/291.56 aux(31) =< V 471.81/291.56 s(37) =< aux(30) 471.81/291.56 it(34) =< aux(31) 471.81/291.56 s(21) =< aux(31) 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(34) =< aux(12) 471.81/291.56 it(34) =< aux(30) 471.81/291.56 aux(9) =< aux(31) 471.81/291.56 s(22) =< aux(31)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(31) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],37,47]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+2*s(39)+8 471.81/291.56 Such that:s(38) =< 2 471.81/291.56 aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+2 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(32) =< -V1+V 471.81/291.56 aux(33) =< V 471.81/291.56 s(39) =< s(38) 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(32) 471.81/291.56 it(36) =< aux(32) 471.81/291.56 it(34) =< aux(33) 471.81/291.56 it(36) =< aux(33) 471.81/291.56 s(21) =< aux(33) 471.81/291.56 aux(9) =< aux(33) 471.81/291.56 s(22) =< aux(33)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(33) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],37,45,47]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+2*s(39)+13 471.81/291.56 Such that:s(38) =< 2 471.81/291.56 aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+2 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(34) =< -V1+V 471.81/291.56 aux(35) =< V 471.81/291.56 s(39) =< s(38) 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(34) 471.81/291.56 it(36) =< aux(34) 471.81/291.56 it(34) =< aux(35) 471.81/291.56 it(36) =< aux(35) 471.81/291.56 s(21) =< aux(35) 471.81/291.56 aux(9) =< aux(35) 471.81/291.56 s(22) =< aux(35)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(35) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],37,45,46]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+2*s(39)+13 471.81/291.56 Such that:s(38) =< 2 471.81/291.56 aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+2 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(36) =< -V1+V 471.81/291.56 aux(37) =< V 471.81/291.56 s(39) =< s(38) 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(36) 471.81/291.56 it(36) =< aux(36) 471.81/291.56 it(34) =< aux(37) 471.81/291.56 it(36) =< aux(37) 471.81/291.56 s(21) =< aux(37) 471.81/291.56 aux(9) =< aux(37) 471.81/291.56 s(22) =< aux(37)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(37) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],37,43,47]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+2*s(39)+12 471.81/291.56 Such that:s(38) =< 2 471.81/291.56 aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+2 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(38) =< -V1+V 471.81/291.56 aux(39) =< V 471.81/291.56 s(39) =< s(38) 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(38) 471.81/291.56 it(36) =< aux(38) 471.81/291.56 it(34) =< aux(39) 471.81/291.56 it(36) =< aux(39) 471.81/291.56 s(21) =< aux(39) 471.81/291.56 aux(9) =< aux(39) 471.81/291.56 s(22) =< aux(39)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(39) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],37,42,47]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+1*s(33)+2*s(39)+12 471.81/291.56 Such that:s(33) =< 1 471.81/291.56 s(38) =< 2 471.81/291.56 aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+2 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(40) =< -V1+V 471.81/291.56 aux(41) =< V 471.81/291.56 s(39) =< s(38) 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(40) 471.81/291.56 it(36) =< aux(40) 471.81/291.56 it(34) =< aux(41) 471.81/291.56 it(36) =< aux(41) 471.81/291.56 s(21) =< aux(41) 471.81/291.56 aux(9) =< aux(41) 471.81/291.56 s(22) =< aux(41)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(41) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],35,47]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+8 471.81/291.56 Such that:aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+2 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(42) =< -V1+V 471.81/291.56 aux(43) =< V 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(42) 471.81/291.56 it(36) =< aux(42) 471.81/291.56 it(34) =< aux(43) 471.81/291.56 it(36) =< aux(43) 471.81/291.56 s(21) =< aux(43) 471.81/291.56 aux(9) =< aux(43) 471.81/291.56 s(22) =< aux(43)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(43) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [[34,36,40,41],35,46]: 15*it(34)+5*it(36)+4*s(20)+2*s(21)+1*s(26)+1*s(27)+8 471.81/291.56 Such that:aux(10) =< -2*V1+V+1 471.81/291.56 aux(11) =< -2*V1+V+2 471.81/291.56 it(36) =< V/3 471.81/291.56 aux(44) =< -V1+V 471.81/291.56 aux(45) =< V 471.81/291.56 it(34) =< aux(10) 471.81/291.56 it(36) =< aux(10) 471.81/291.56 it(34) =< aux(11) 471.81/291.56 it(36) =< aux(11) 471.81/291.56 it(34) =< aux(44) 471.81/291.56 it(36) =< aux(44) 471.81/291.56 it(34) =< aux(45) 471.81/291.56 it(36) =< aux(45) 471.81/291.56 s(21) =< aux(45) 471.81/291.56 aux(9) =< aux(45) 471.81/291.56 s(22) =< aux(45)*2 471.81/291.56 s(27) =< it(34)*aux(9) 471.81/291.56 s(26) =< it(34)*aux(45) 471.81/291.56 s(20) =< s(22) 471.81/291.56 471.81/291.56 with precondition: [Out=0,2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 * Chain [47]: 3 471.81/291.56 with precondition: [Out=0,V1>=0,V>=0] 471.81/291.56 471.81/291.56 * Chain [46]: 4*s(29)+3 471.81/291.56 Such that:aux(18) =< V 471.81/291.56 s(29) =< aux(18) 471.81/291.56 471.81/291.56 with precondition: [V1=2,Out=0,V>=0] 471.81/291.56 471.81/291.56 * Chain [45,47]: 8 471.81/291.56 with precondition: [V1=1,Out=0,V>=1] 471.81/291.56 471.81/291.56 * Chain [45,46]: 8 471.81/291.56 with precondition: [V1=1,Out=0,V>=1] 471.81/291.56 471.81/291.56 * Chain [44,47]: 8 471.81/291.56 with precondition: [V1=1,V=2,Out=0] 471.81/291.56 471.81/291.56 * Chain [44,45,47]: 13 471.81/291.56 with precondition: [V1=1,V=2,Out=0] 471.81/291.56 471.81/291.56 * Chain [44,45,46]: 13 471.81/291.56 with precondition: [V1=1,V=2,Out=0] 471.81/291.56 471.81/291.56 * Chain [44,43,47]: 12 471.81/291.56 with precondition: [V1=1,V=2,Out=0] 471.81/291.56 471.81/291.56 * Chain [44,42,47]: 1*s(33)+12 471.81/291.56 Such that:s(33) =< 1 471.81/291.56 471.81/291.56 with precondition: [V1=1,V=2,Out=0] 471.81/291.56 471.81/291.56 * Chain [43,47]: 7 471.81/291.56 with precondition: [V1=1,Out=0,V>=1] 471.81/291.56 471.81/291.56 * Chain [42,47]: 1*s(33)+7 471.81/291.56 Such that:s(33) =< V 471.81/291.56 471.81/291.56 with precondition: [V1=1,Out=0,V>=1] 471.81/291.56 471.81/291.56 * Chain [39,47]: 7 471.81/291.56 with precondition: [V1=2,Out=0,V>=1] 471.81/291.56 471.81/291.56 * Chain [38,47]: 2*s(36)+1*s(37)+7 471.81/291.56 Such that:s(35) =< V 471.81/291.56 s(37) =< V/2 471.81/291.56 s(36) =< s(35) 471.81/291.56 471.81/291.56 with precondition: [V1=2,Out=0,V>=2] 471.81/291.56 471.81/291.56 * Chain [37,47]: 2*s(39)+8 471.81/291.56 Such that:s(38) =< 2 471.81/291.56 s(39) =< s(38) 471.81/291.56 471.81/291.56 with precondition: [V1=2,Out=0,V>=2] 471.81/291.56 471.81/291.56 * Chain [37,45,47]: 2*s(39)+13 471.81/291.56 Such that:s(38) =< 2 471.81/291.56 s(39) =< s(38) 471.81/291.56 471.81/291.56 with precondition: [V1=2,Out=0,V>=2] 471.81/291.56 471.81/291.56 * Chain [37,45,46]: 2*s(39)+13 471.81/291.56 Such that:s(38) =< 2 471.81/291.56 s(39) =< s(38) 471.81/291.56 471.81/291.56 with precondition: [V1=2,Out=0,V>=2] 471.81/291.56 471.81/291.56 * Chain [37,43,47]: 2*s(39)+12 471.81/291.56 Such that:s(38) =< 2 471.81/291.56 s(39) =< s(38) 471.81/291.56 471.81/291.56 with precondition: [V1=2,Out=0,V>=2] 471.81/291.56 471.81/291.56 * Chain [37,42,47]: 1*s(33)+2*s(39)+12 471.81/291.56 Such that:s(33) =< 1 471.81/291.56 s(38) =< 2 471.81/291.56 s(39) =< s(38) 471.81/291.56 471.81/291.56 with precondition: [V1=2,Out=0,V>=2] 471.81/291.56 471.81/291.56 * Chain [35,47]: 8 471.81/291.56 with precondition: [V1=2,Out=0,V>=1] 471.81/291.56 471.81/291.56 * Chain [35,46]: 8 471.81/291.56 with precondition: [V1=2,Out=0,V>=1] 471.81/291.56 471.81/291.56 471.81/291.56 #### Cost of chains of start(V1,V): 471.81/291.56 * Chain [53]: 1*s(251)+1*s(252)+5*s(253)+13 471.81/291.56 Such that:s(251) =< 1 471.81/291.56 s(252) =< V 471.81/291.56 aux(57) =< V1 471.81/291.56 s(253) =< aux(57) 471.81/291.56 471.81/291.56 with precondition: [V1>=0] 471.81/291.56 471.81/291.56 * Chain [52]: 2 471.81/291.56 with precondition: [V1=1] 471.81/291.56 471.81/291.56 * Chain [51]: 9*s(258)+50*s(264)+536*s(266)+120*s(284)+28*s(291)+28*s(292)+120*s(293)+1*s(297)+40*s(298)+2*s(299)+2*s(300)+2*s(310)+15 471.81/291.56 Such that:s(281) =< V+1 471.81/291.56 s(279) =< V+2 471.81/291.56 aux(65) =< 1 471.81/291.56 aux(66) =< 2 471.81/291.56 aux(67) =< V 471.81/291.56 aux(68) =< V/2 471.81/291.56 aux(69) =< V/3 471.81/291.56 s(258) =< aux(65) 471.81/291.56 s(310) =< aux(68) 471.81/291.56 s(264) =< aux(66) 471.81/291.56 s(266) =< aux(67) 471.81/291.56 s(284) =< aux(69) 471.81/291.56 s(284) =< aux(67) 471.81/291.56 s(289) =< aux(67) 471.81/291.56 s(290) =< aux(67)*2 471.81/291.56 s(291) =< s(266)*s(289) 471.81/291.56 s(292) =< s(266)*aux(67) 471.81/291.56 s(293) =< s(290) 471.81/291.56 s(297) =< s(281) 471.81/291.56 s(298) =< aux(67) 471.81/291.56 s(298) =< s(279) 471.81/291.56 s(298) =< s(281) 471.81/291.56 s(299) =< s(298)*s(289) 471.81/291.56 s(300) =< s(298)*aux(67) 471.81/291.56 471.81/291.56 with precondition: [V1=2,V>=0] 471.81/291.56 471.81/291.56 * Chain [50]: 2*s(354)+15 471.81/291.56 Such that:aux(70) =< 1 471.81/291.56 s(354) =< aux(70) 471.81/291.56 471.81/291.56 with precondition: [V1=2,V=1] 471.81/291.56 471.81/291.56 * Chain [49]: 1 471.81/291.56 with precondition: [V=0,V1>=1] 471.81/291.56 471.81/291.56 * Chain [48]: 1*s(356)+45*s(367)+15*s(368)+10*s(369)+135*s(370)+36*s(371)+9*s(374)+9*s(375)+60*s(376)+45*s(377)+3*s(378)+3*s(379)+1*s(380)+40*s(381)+2*s(382)+2*s(383)+1*s(384)+20*s(385)+1*s(386)+1*s(387)+13 471.81/291.56 Such that:s(356) =< 1 471.81/291.56 s(358) =< 2 471.81/291.56 s(359) =< -2*V1+V 471.81/291.56 s(360) =< -2*V1+V+1 471.81/291.56 s(361) =< -2*V1+V+2 471.81/291.56 s(362) =< -2*V1+V+4 471.81/291.56 s(363) =< -V1+V 471.81/291.56 s(357) =< -V1+V+1 471.81/291.56 s(364) =< -V1+V+2 471.81/291.56 s(365) =< V 471.81/291.56 s(366) =< V/3 471.81/291.56 s(367) =< s(366) 471.81/291.56 s(368) =< s(366) 471.81/291.56 s(369) =< s(358) 471.81/291.56 s(370) =< s(360) 471.81/291.56 s(367) =< s(360) 471.81/291.56 s(370) =< s(361) 471.81/291.56 s(367) =< s(361) 471.81/291.56 s(370) =< s(363) 471.81/291.56 s(367) =< s(363) 471.81/291.56 s(370) =< s(365) 471.81/291.56 s(367) =< s(365) 471.81/291.56 s(371) =< s(365) 471.81/291.56 s(372) =< s(365) 471.81/291.56 s(373) =< s(365)*2 471.81/291.56 s(374) =< s(370)*s(372) 471.81/291.56 s(375) =< s(370)*s(365) 471.81/291.56 s(376) =< s(373) 471.81/291.56 s(377) =< s(360) 471.81/291.56 s(368) =< s(360) 471.81/291.56 s(377) =< s(359) 471.81/291.56 s(368) =< s(359) 471.81/291.56 s(377) =< s(363) 471.81/291.56 s(368) =< s(363) 471.81/291.56 s(377) =< s(365) 471.81/291.56 s(368) =< s(365) 471.81/291.56 s(378) =< s(377)*s(372) 471.81/291.56 s(379) =< s(377)*s(365) 471.81/291.56 s(380) =< s(364) 471.81/291.56 s(381) =< s(365) 471.81/291.56 s(381) =< s(360) 471.81/291.56 s(381) =< s(362) 471.81/291.56 s(381) =< s(363) 471.81/291.56 s(381) =< s(364) 471.81/291.56 s(382) =< s(381)*s(372) 471.81/291.56 s(383) =< s(381)*s(365) 471.81/291.56 s(384) =< s(357) 471.81/291.56 s(385) =< s(365) 471.81/291.56 s(385) =< s(360) 471.81/291.56 s(385) =< s(361) 471.81/291.56 s(385) =< s(363) 471.81/291.56 s(385) =< s(357) 471.81/291.56 s(386) =< s(385)*s(372) 471.81/291.56 s(387) =< s(385)*s(365) 471.81/291.56 471.81/291.56 with precondition: [2>=V1,V1>=1,V>=V1+2] 471.81/291.56 471.81/291.56 471.81/291.56 Closed-form bounds of start(V1,V): 471.81/291.56 ------------------------------------- 471.81/291.56 * Chain [53] with precondition: [V1>=0] 471.81/291.56 - Upper bound: 5*V1+14+nat(V) 471.81/291.56 - Complexity: n 471.81/291.56 * Chain [52] with precondition: [V1=1] 471.81/291.56 - Upper bound: 2 471.81/291.56 - Complexity: constant 471.81/291.56 * Chain [51] with precondition: [V1=2,V>=0] 471.81/291.56 - Upper bound: 816*V+124+60*V*V+(V+1)+V+40*V 471.81/291.56 - Complexity: n^2 471.81/291.56 * Chain [50] with precondition: [V1=2,V=1] 471.81/291.56 - Upper bound: 17 471.81/291.56 - Complexity: constant 471.81/291.56 * Chain [49] with precondition: [V=0,V1>=1] 471.81/291.56 - Upper bound: 1 471.81/291.56 - Complexity: constant 471.81/291.56 * Chain [48] with precondition: [2>=V1,V1>=1,V>=V1+2] 471.81/291.56 - Upper bound: 216*V+34+6*V*V+(-2*V1+V+1)*(24*V)+(-V1+V+1)+(-V1+V+2)+(-360*V1+180*V+180)+20*V 471.81/291.56 - Complexity: n^2 471.81/291.56 471.81/291.56 ### Maximum cost of start(V1,V): max([16,nat(V)+13+max([5*V1,nat(V)*215+20+nat(V)*6*nat(V)+nat(V/3)*60+max([nat(V)*24*nat(-2*V1+V+1)+nat(-V1+V+1)+nat(-V1+V+2)+nat(-2*V1+V+1)*180,nat(V)*600+90+nat(V)*54*nat(V)+nat(V+1)+nat(V/2)*2+nat(V/3)*60])])])+1 471.81/291.56 Asymptotic class: n^2 471.81/291.56 * Total analysis performed in 964 ms. 471.81/291.56 471.81/291.56 471.81/291.56 ---------------------------------------- 471.81/291.56 471.81/291.56 (10) 471.81/291.56 BOUNDS(1, n^2) 471.81/291.56 471.81/291.56 ---------------------------------------- 471.81/291.56 471.81/291.56 (11) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) 471.81/291.56 Transformed a relative TRS into a decreasing-loop problem. 471.81/291.56 ---------------------------------------- 471.81/291.56 471.81/291.56 (12) 471.81/291.56 Obligation: 471.81/291.56 Analyzing the following TRS for decreasing loops: 471.81/291.56 471.81/291.56 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, n^2). 471.81/291.56 471.81/291.56 471.81/291.56 The TRS R consists of the following rules: 471.81/291.56 471.81/291.56 cond1(true, x) -> cond2(even(x), x) 471.81/291.56 cond2(true, x) -> cond1(neq(x, 0), div2(x)) 471.81/291.56 cond2(false, x) -> cond1(neq(x, 0), p(x)) 471.81/291.56 neq(0, 0) -> false 471.81/291.56 neq(0, s(x)) -> true 471.81/291.56 neq(s(x), 0) -> true 471.81/291.56 neq(s(x), s(y)) -> neq(x, y) 471.81/291.56 even(0) -> true 471.81/291.56 even(s(0)) -> false 471.81/291.56 even(s(s(x))) -> even(x) 471.81/291.56 div2(0) -> 0 471.81/291.56 div2(s(0)) -> 0 471.81/291.56 div2(s(s(x))) -> s(div2(x)) 471.81/291.56 p(0) -> 0 471.81/291.56 p(s(x)) -> x 471.81/291.56 471.81/291.56 S is empty. 471.81/291.56 Rewrite Strategy: INNERMOST 471.81/291.56 ---------------------------------------- 471.81/291.56 471.81/291.56 (13) DecreasingLoopProof (LOWER BOUND(ID)) 471.81/291.56 The following loop(s) give(s) rise to the lower bound Omega(n^1): 471.81/291.56 471.81/291.56 The rewrite sequence 471.81/291.56 471.81/291.56 even(s(s(x))) ->^+ even(x) 471.81/291.56 471.81/291.56 gives rise to a decreasing loop by considering the right hand sides subterm at position []. 471.81/291.56 471.81/291.56 The pumping substitution is [x / s(s(x))]. 471.81/291.56 471.81/291.56 The result substitution is [ ]. 471.81/291.56 471.81/291.56 471.81/291.56 471.81/291.56 471.81/291.56 ---------------------------------------- 471.81/291.56 471.81/291.56 (14) 471.81/291.56 Complex Obligation (BEST) 471.81/291.56 471.81/291.56 ---------------------------------------- 471.81/291.56 471.81/291.56 (15) 471.81/291.56 Obligation: 471.81/291.56 Proved the lower bound n^1 for the following obligation: 471.81/291.56 471.81/291.56 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, n^2). 471.81/291.56 471.81/291.56 471.81/291.56 The TRS R consists of the following rules: 471.81/291.56 471.81/291.56 cond1(true, x) -> cond2(even(x), x) 471.81/291.56 cond2(true, x) -> cond1(neq(x, 0), div2(x)) 471.81/291.56 cond2(false, x) -> cond1(neq(x, 0), p(x)) 471.81/291.56 neq(0, 0) -> false 471.81/291.56 neq(0, s(x)) -> true 471.81/291.56 neq(s(x), 0) -> true 471.81/291.56 neq(s(x), s(y)) -> neq(x, y) 471.81/291.56 even(0) -> true 471.81/291.56 even(s(0)) -> false 471.81/291.56 even(s(s(x))) -> even(x) 471.81/291.56 div2(0) -> 0 471.81/291.56 div2(s(0)) -> 0 471.81/291.56 div2(s(s(x))) -> s(div2(x)) 471.81/291.56 p(0) -> 0 471.81/291.56 p(s(x)) -> x 471.81/291.56 471.81/291.56 S is empty. 471.81/291.56 Rewrite Strategy: INNERMOST 471.81/291.56 ---------------------------------------- 471.81/291.56 471.81/291.56 (16) LowerBoundPropagationProof (FINISHED) 471.81/291.56 Propagated lower bound. 471.81/291.56 ---------------------------------------- 471.81/291.56 471.81/291.56 (17) 471.81/291.56 BOUNDS(n^1, INF) 471.81/291.56 471.81/291.56 ---------------------------------------- 471.81/291.56 471.81/291.56 (18) 471.81/291.56 Obligation: 471.81/291.56 Analyzing the following TRS for decreasing loops: 471.81/291.56 471.81/291.56 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(n^1, n^2). 471.81/291.56 471.81/291.56 471.81/291.56 The TRS R consists of the following rules: 471.81/291.56 471.81/291.56 cond1(true, x) -> cond2(even(x), x) 471.81/291.56 cond2(true, x) -> cond1(neq(x, 0), div2(x)) 471.81/291.56 cond2(false, x) -> cond1(neq(x, 0), p(x)) 471.81/291.56 neq(0, 0) -> false 471.81/291.56 neq(0, s(x)) -> true 471.81/291.56 neq(s(x), 0) -> true 471.81/291.56 neq(s(x), s(y)) -> neq(x, y) 471.81/291.56 even(0) -> true 471.81/291.56 even(s(0)) -> false 471.81/291.56 even(s(s(x))) -> even(x) 471.81/291.56 div2(0) -> 0 471.81/291.56 div2(s(0)) -> 0 471.81/291.56 div2(s(s(x))) -> s(div2(x)) 471.81/291.56 p(0) -> 0 471.81/291.56 p(s(x)) -> x 471.81/291.56 471.81/291.56 S is empty. 471.81/291.56 Rewrite Strategy: INNERMOST 472.02/291.62 EOF