/export/starexec/sandbox/solver/bin/starexec_run_rcdcRelativeAlsoLower /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1), O(n^3)) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^3). (0) DCpxTrs (1) DerivationalComplexityToRuntimeComplexityProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxRelTRS (3) SInnermostTerminationProof [BOTH CONCRETE BOUNDS(ID, ID), 291 ms] (4) CpxRelTRS (5) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (6) CpxWeightedTrs (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxTypedWeightedTrs (9) CompletionProof [UPPER BOUND(ID), 0 ms] (10) CpxTypedWeightedCompleteTrs (11) NarrowingProof [BOTH BOUNDS(ID, ID), 5080 ms] (12) CpxTypedWeightedCompleteTrs (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 1 ms] (14) CpxRNTS (15) InliningProof [UPPER BOUND(ID), 834 ms] (16) CpxRNTS (17) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (18) CpxRNTS (19) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (20) CpxRNTS (21) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (22) CpxRNTS (23) IntTrsBoundProof [UPPER BOUND(ID), 95 ms] (24) CpxRNTS (25) IntTrsBoundProof [UPPER BOUND(ID), 23 ms] (26) CpxRNTS (27) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 106 ms] (30) CpxRNTS (31) IntTrsBoundProof [UPPER BOUND(ID), 2 ms] (32) CpxRNTS (33) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 201 ms] (36) CpxRNTS (37) IntTrsBoundProof [UPPER BOUND(ID), 64 ms] (38) CpxRNTS (39) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 137 ms] (42) CpxRNTS (43) IntTrsBoundProof [UPPER BOUND(ID), 33 ms] (44) CpxRNTS (45) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 126 ms] (48) CpxRNTS (49) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (50) CpxRNTS (51) ResultPropagationProof [UPPER BOUND(ID), 3 ms] (52) CpxRNTS (53) IntTrsBoundProof [UPPER BOUND(ID), 310 ms] (54) CpxRNTS (55) IntTrsBoundProof [UPPER BOUND(ID), 2 ms] (56) CpxRNTS (57) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (58) CpxRNTS (59) IntTrsBoundProof [UPPER BOUND(ID), 167 ms] (60) CpxRNTS (61) IntTrsBoundProof [UPPER BOUND(ID), 52 ms] (62) CpxRNTS (63) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (64) CpxRNTS (65) IntTrsBoundProof [UPPER BOUND(ID), 2627 ms] (66) CpxRNTS (67) IntTrsBoundProof [UPPER BOUND(ID), 2837 ms] (68) CpxRNTS (69) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (70) CpxRNTS (71) IntTrsBoundProof [UPPER BOUND(ID), 46 ms] (72) CpxRNTS (73) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (74) CpxRNTS (75) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (76) CpxRNTS (77) IntTrsBoundProof [UPPER BOUND(ID), 2515 ms] (78) CpxRNTS (79) IntTrsBoundProof [UPPER BOUND(ID), 2032 ms] (80) CpxRNTS (81) ResultPropagationProof [UPPER BOUND(ID), 3 ms] (82) CpxRNTS (83) IntTrsBoundProof [UPPER BOUND(ID), 619 ms] (84) CpxRNTS (85) IntTrsBoundProof [UPPER BOUND(ID), 99 ms] (86) CpxRNTS (87) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (88) CpxRNTS (89) IntTrsBoundProof [UPPER BOUND(ID), 516 ms] (90) CpxRNTS (91) IntTrsBoundProof [UPPER BOUND(ID), 118 ms] (92) CpxRNTS (93) ResultPropagationProof [UPPER BOUND(ID), 3 ms] (94) CpxRNTS (95) IntTrsBoundProof [UPPER BOUND(ID), 269 ms] (96) CpxRNTS (97) IntTrsBoundProof [UPPER BOUND(ID), 3 ms] (98) CpxRNTS (99) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (100) CpxRNTS (101) IntTrsBoundProof [UPPER BOUND(ID), 138 ms] (102) CpxRNTS (103) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (104) CpxRNTS (105) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (106) CpxRNTS (107) IntTrsBoundProof [UPPER BOUND(ID), 474 ms] (108) CpxRNTS (109) IntTrsBoundProof [UPPER BOUND(ID), 158 ms] (110) CpxRNTS (111) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (112) CpxRNTS (113) IntTrsBoundProof [UPPER BOUND(ID), 655 ms] (114) CpxRNTS (115) IntTrsBoundProof [UPPER BOUND(ID), 17 ms] (116) CpxRNTS (117) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (118) CpxRNTS (119) IntTrsBoundProof [UPPER BOUND(ID), 695 ms] (120) CpxRNTS (121) IntTrsBoundProof [UPPER BOUND(ID), 227 ms] (122) CpxRNTS (123) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (124) CpxRNTS (125) IntTrsBoundProof [UPPER BOUND(ID), 126 ms] (126) CpxRNTS (127) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (128) CpxRNTS (129) FinalProof [FINISHED, 0 ms] (130) BOUNDS(1, n^3) (131) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CpxRelTRS (133) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (134) typed CpxTrs (135) OrderProof [LOWER BOUND(ID), 0 ms] (136) typed CpxTrs (137) RewriteLemmaProof [LOWER BOUND(ID), 280 ms] (138) BEST (139) proven lower bound (140) LowerBoundPropagationProof [FINISHED, 0 ms] (141) BOUNDS(n^1, INF) (142) typed CpxTrs (143) RewriteLemmaProof [LOWER BOUND(ID), 68 ms] (144) typed CpxTrs (145) RewriteLemmaProof [LOWER BOUND(ID), 1105 ms] (146) BOUNDS(1, INF) ---------------------------------------- (0) Obligation: The Derivational Complexity (innermost) of the given DCpxTrs could be proven to be BOUNDS(n^1, n^3). The TRS R consists of the following rules: half(0) -> 0 half(s(0)) -> 0 half(s(s(x))) -> s(half(x)) inc(0) -> 0 inc(s(x)) -> s(inc(x)) zero(0) -> true zero(s(x)) -> false p(0) -> 0 p(s(x)) -> x bits(x) -> bitIter(x, 0) bitIter(x, y) -> if(zero(x), x, inc(y)) if(true, x, y) -> p(y) if(false, x, y) -> bitIter(half(x), y) S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (1) DerivationalComplexityToRuntimeComplexityProof (BOTH BOUNDS(ID, ID)) The following rules have been added to S to convert the given derivational complexity problem to a runtime complexity problem: encArg(0) -> 0 encArg(s(x_1)) -> s(encArg(x_1)) encArg(true) -> true encArg(false) -> false encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_zero(x_1)) -> zero(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_bits(x_1)) -> bits(encArg(x_1)) encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_half(x_1) -> half(encArg(x_1)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_inc(x_1) -> inc(encArg(x_1)) encode_zero(x_1) -> zero(encArg(x_1)) encode_true -> true encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_bits(x_1) -> bits(encArg(x_1)) encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) ---------------------------------------- (2) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^3). The TRS R consists of the following rules: half(0) -> 0 half(s(0)) -> 0 half(s(s(x))) -> s(half(x)) inc(0) -> 0 inc(s(x)) -> s(inc(x)) zero(0) -> true zero(s(x)) -> false p(0) -> 0 p(s(x)) -> x bits(x) -> bitIter(x, 0) bitIter(x, y) -> if(zero(x), x, inc(y)) if(true, x, y) -> p(y) if(false, x, y) -> bitIter(half(x), y) The (relative) TRS S consists of the following rules: encArg(0) -> 0 encArg(s(x_1)) -> s(encArg(x_1)) encArg(true) -> true encArg(false) -> false encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_zero(x_1)) -> zero(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_bits(x_1)) -> bits(encArg(x_1)) encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_half(x_1) -> half(encArg(x_1)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_inc(x_1) -> inc(encArg(x_1)) encode_zero(x_1) -> zero(encArg(x_1)) encode_true -> true encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_bits(x_1) -> bits(encArg(x_1)) encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Rewrite Strategy: INNERMOST ---------------------------------------- (3) SInnermostTerminationProof (BOTH CONCRETE BOUNDS(ID, ID)) proved innermost termination of relative rules ---------------------------------------- (4) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^3). The TRS R consists of the following rules: half(0) -> 0 half(s(0)) -> 0 half(s(s(x))) -> s(half(x)) inc(0) -> 0 inc(s(x)) -> s(inc(x)) zero(0) -> true zero(s(x)) -> false p(0) -> 0 p(s(x)) -> x bits(x) -> bitIter(x, 0) bitIter(x, y) -> if(zero(x), x, inc(y)) if(true, x, y) -> p(y) if(false, x, y) -> bitIter(half(x), y) The (relative) TRS S consists of the following rules: encArg(0) -> 0 encArg(s(x_1)) -> s(encArg(x_1)) encArg(true) -> true encArg(false) -> false encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_zero(x_1)) -> zero(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_bits(x_1)) -> bits(encArg(x_1)) encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_half(x_1) -> half(encArg(x_1)) encode_0 -> 0 encode_s(x_1) -> s(encArg(x_1)) encode_inc(x_1) -> inc(encArg(x_1)) encode_zero(x_1) -> zero(encArg(x_1)) encode_true -> true encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_bits(x_1) -> bits(encArg(x_1)) encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Rewrite Strategy: INNERMOST ---------------------------------------- (5) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, n^3). The TRS R consists of the following rules: half(0) -> 0 [1] half(s(0)) -> 0 [1] half(s(s(x))) -> s(half(x)) [1] inc(0) -> 0 [1] inc(s(x)) -> s(inc(x)) [1] zero(0) -> true [1] zero(s(x)) -> false [1] p(0) -> 0 [1] p(s(x)) -> x [1] bits(x) -> bitIter(x, 0) [1] bitIter(x, y) -> if(zero(x), x, inc(y)) [1] if(true, x, y) -> p(y) [1] if(false, x, y) -> bitIter(half(x), y) [1] encArg(0) -> 0 [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(true) -> true [0] encArg(false) -> false [0] encArg(cons_half(x_1)) -> half(encArg(x_1)) [0] encArg(cons_inc(x_1)) -> inc(encArg(x_1)) [0] encArg(cons_zero(x_1)) -> zero(encArg(x_1)) [0] encArg(cons_p(x_1)) -> p(encArg(x_1)) [0] encArg(cons_bits(x_1)) -> bits(encArg(x_1)) [0] encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_half(x_1) -> half(encArg(x_1)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_inc(x_1) -> inc(encArg(x_1)) [0] encode_zero(x_1) -> zero(encArg(x_1)) [0] encode_true -> true [0] encode_false -> false [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_bits(x_1) -> bits(encArg(x_1)) [0] encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: half(0) -> 0 [1] half(s(0)) -> 0 [1] half(s(s(x))) -> s(half(x)) [1] inc(0) -> 0 [1] inc(s(x)) -> s(inc(x)) [1] zero(0) -> true [1] zero(s(x)) -> false [1] p(0) -> 0 [1] p(s(x)) -> x [1] bits(x) -> bitIter(x, 0) [1] bitIter(x, y) -> if(zero(x), x, inc(y)) [1] if(true, x, y) -> p(y) [1] if(false, x, y) -> bitIter(half(x), y) [1] encArg(0) -> 0 [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(true) -> true [0] encArg(false) -> false [0] encArg(cons_half(x_1)) -> half(encArg(x_1)) [0] encArg(cons_inc(x_1)) -> inc(encArg(x_1)) [0] encArg(cons_zero(x_1)) -> zero(encArg(x_1)) [0] encArg(cons_p(x_1)) -> p(encArg(x_1)) [0] encArg(cons_bits(x_1)) -> bits(encArg(x_1)) [0] encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_half(x_1) -> half(encArg(x_1)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_inc(x_1) -> inc(encArg(x_1)) [0] encode_zero(x_1) -> zero(encArg(x_1)) [0] encode_true -> true [0] encode_false -> false [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_bits(x_1) -> bits(encArg(x_1)) [0] encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] The TRS has the following type information: half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if 0 :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if s :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if true :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if false :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encArg :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_0 :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_s :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_true :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_false :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if Rewrite Strategy: INNERMOST ---------------------------------------- (9) 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: none (c) The following functions are completely defined: zero_1 inc_1 half_1 bits_1 if_3 bitIter_2 p_1 encArg_1 encode_half_1 encode_0 encode_s_1 encode_inc_1 encode_zero_1 encode_true encode_false encode_p_1 encode_bits_1 encode_bitIter_2 encode_if_3 Due to the following rules being added: encArg(v0) -> null_encArg [0] encode_half(v0) -> null_encode_half [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_inc(v0) -> null_encode_inc [0] encode_zero(v0) -> null_encode_zero [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_p(v0) -> null_encode_p [0] encode_bits(v0) -> null_encode_bits [0] encode_bitIter(v0, v1) -> null_encode_bitIter [0] encode_if(v0, v1, v2) -> null_encode_if [0] zero(v0) -> null_zero [0] inc(v0) -> null_inc [0] half(v0) -> null_half [0] if(v0, v1, v2) -> null_if [0] p(v0) -> null_p [0] And the following fresh constants: null_encArg, null_encode_half, null_encode_0, null_encode_s, null_encode_inc, null_encode_zero, null_encode_true, null_encode_false, null_encode_p, null_encode_bits, null_encode_bitIter, null_encode_if, null_zero, null_inc, null_half, null_if, null_p ---------------------------------------- (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: half(0) -> 0 [1] half(s(0)) -> 0 [1] half(s(s(x))) -> s(half(x)) [1] inc(0) -> 0 [1] inc(s(x)) -> s(inc(x)) [1] zero(0) -> true [1] zero(s(x)) -> false [1] p(0) -> 0 [1] p(s(x)) -> x [1] bits(x) -> bitIter(x, 0) [1] bitIter(x, y) -> if(zero(x), x, inc(y)) [1] if(true, x, y) -> p(y) [1] if(false, x, y) -> bitIter(half(x), y) [1] encArg(0) -> 0 [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(true) -> true [0] encArg(false) -> false [0] encArg(cons_half(x_1)) -> half(encArg(x_1)) [0] encArg(cons_inc(x_1)) -> inc(encArg(x_1)) [0] encArg(cons_zero(x_1)) -> zero(encArg(x_1)) [0] encArg(cons_p(x_1)) -> p(encArg(x_1)) [0] encArg(cons_bits(x_1)) -> bits(encArg(x_1)) [0] encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_half(x_1) -> half(encArg(x_1)) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_inc(x_1) -> inc(encArg(x_1)) [0] encode_zero(x_1) -> zero(encArg(x_1)) [0] encode_true -> true [0] encode_false -> false [0] encode_p(x_1) -> p(encArg(x_1)) [0] encode_bits(x_1) -> bits(encArg(x_1)) [0] encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(v0) -> null_encArg [0] encode_half(v0) -> null_encode_half [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_inc(v0) -> null_encode_inc [0] encode_zero(v0) -> null_encode_zero [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_p(v0) -> null_encode_p [0] encode_bits(v0) -> null_encode_bits [0] encode_bitIter(v0, v1) -> null_encode_bitIter [0] encode_if(v0, v1, v2) -> null_encode_if [0] zero(v0) -> null_zero [0] inc(v0) -> null_inc [0] half(v0) -> null_half [0] if(v0, v1, v2) -> null_if [0] p(v0) -> null_p [0] The TRS has the following type information: half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p 0 :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p s :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p true :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p false :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encArg :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_0 :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_s :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_true :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_false :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encArg :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_0 :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_s :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_true :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_false :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p Rewrite Strategy: INNERMOST ---------------------------------------- (11) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (12) 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: half(0) -> 0 [1] half(s(0)) -> 0 [1] half(s(s(x))) -> s(half(x)) [1] inc(0) -> 0 [1] inc(s(x)) -> s(inc(x)) [1] zero(0) -> true [1] zero(s(x)) -> false [1] p(0) -> 0 [1] p(s(x)) -> x [1] bits(x) -> bitIter(x, 0) [1] bitIter(0, 0) -> if(true, 0, 0) [3] bitIter(0, s(x'')) -> if(true, 0, s(inc(x''))) [3] bitIter(0, y) -> if(true, 0, null_inc) [2] bitIter(s(x'), 0) -> if(false, s(x'), 0) [3] bitIter(s(x'), s(x1)) -> if(false, s(x'), s(inc(x1))) [3] bitIter(s(x'), y) -> if(false, s(x'), null_inc) [2] bitIter(x, 0) -> if(null_zero, x, 0) [2] bitIter(x, s(x2)) -> if(null_zero, x, s(inc(x2))) [2] bitIter(x, y) -> if(null_zero, x, null_inc) [1] if(true, x, y) -> p(y) [1] if(false, 0, y) -> bitIter(0, y) [2] if(false, s(0), y) -> bitIter(0, y) [2] if(false, s(s(x3)), y) -> bitIter(s(half(x3)), y) [2] if(false, x, y) -> bitIter(null_half, y) [1] encArg(0) -> 0 [0] encArg(s(x_1)) -> s(encArg(x_1)) [0] encArg(true) -> true [0] encArg(false) -> false [0] encArg(cons_half(0)) -> half(0) [0] encArg(cons_half(s(x_1'))) -> half(s(encArg(x_1'))) [0] encArg(cons_half(true)) -> half(true) [0] encArg(cons_half(false)) -> half(false) [0] encArg(cons_half(cons_half(x_1''))) -> half(half(encArg(x_1''))) [0] encArg(cons_half(cons_inc(x_11))) -> half(inc(encArg(x_11))) [0] encArg(cons_half(cons_zero(x_12))) -> half(zero(encArg(x_12))) [0] encArg(cons_half(cons_p(x_13))) -> half(p(encArg(x_13))) [0] encArg(cons_half(cons_bits(x_14))) -> half(bits(encArg(x_14))) [0] encArg(cons_half(cons_bitIter(x_15, x_2'))) -> half(bitIter(encArg(x_15), encArg(x_2'))) [0] encArg(cons_half(cons_if(x_16, x_2'', x_3'))) -> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) [0] encArg(cons_half(x_1)) -> half(null_encArg) [0] encArg(cons_inc(0)) -> inc(0) [0] encArg(cons_inc(s(x_17))) -> inc(s(encArg(x_17))) [0] encArg(cons_inc(true)) -> inc(true) [0] encArg(cons_inc(false)) -> inc(false) [0] encArg(cons_inc(cons_half(x_18))) -> inc(half(encArg(x_18))) [0] encArg(cons_inc(cons_inc(x_19))) -> inc(inc(encArg(x_19))) [0] encArg(cons_inc(cons_zero(x_110))) -> inc(zero(encArg(x_110))) [0] encArg(cons_inc(cons_p(x_111))) -> inc(p(encArg(x_111))) [0] encArg(cons_inc(cons_bits(x_112))) -> inc(bits(encArg(x_112))) [0] encArg(cons_inc(cons_bitIter(x_113, x_21))) -> inc(bitIter(encArg(x_113), encArg(x_21))) [0] encArg(cons_inc(cons_if(x_114, x_22, x_3''))) -> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) [0] encArg(cons_inc(x_1)) -> inc(null_encArg) [0] encArg(cons_zero(0)) -> zero(0) [0] encArg(cons_zero(s(x_115))) -> zero(s(encArg(x_115))) [0] encArg(cons_zero(true)) -> zero(true) [0] encArg(cons_zero(false)) -> zero(false) [0] encArg(cons_zero(cons_half(x_116))) -> zero(half(encArg(x_116))) [0] encArg(cons_zero(cons_inc(x_117))) -> zero(inc(encArg(x_117))) [0] encArg(cons_zero(cons_zero(x_118))) -> zero(zero(encArg(x_118))) [0] encArg(cons_zero(cons_p(x_119))) -> zero(p(encArg(x_119))) [0] encArg(cons_zero(cons_bits(x_120))) -> zero(bits(encArg(x_120))) [0] encArg(cons_zero(cons_bitIter(x_121, x_23))) -> zero(bitIter(encArg(x_121), encArg(x_23))) [0] encArg(cons_zero(cons_if(x_122, x_24, x_31))) -> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) [0] encArg(cons_zero(x_1)) -> zero(null_encArg) [0] encArg(cons_p(0)) -> p(0) [0] encArg(cons_p(s(x_123))) -> p(s(encArg(x_123))) [0] encArg(cons_p(true)) -> p(true) [0] encArg(cons_p(false)) -> p(false) [0] encArg(cons_p(cons_half(x_124))) -> p(half(encArg(x_124))) [0] encArg(cons_p(cons_inc(x_125))) -> p(inc(encArg(x_125))) [0] encArg(cons_p(cons_zero(x_126))) -> p(zero(encArg(x_126))) [0] encArg(cons_p(cons_p(x_127))) -> p(p(encArg(x_127))) [0] encArg(cons_p(cons_bits(x_128))) -> p(bits(encArg(x_128))) [0] encArg(cons_p(cons_bitIter(x_129, x_25))) -> p(bitIter(encArg(x_129), encArg(x_25))) [0] encArg(cons_p(cons_if(x_130, x_26, x_32))) -> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) [0] encArg(cons_p(x_1)) -> p(null_encArg) [0] encArg(cons_bits(0)) -> bits(0) [0] encArg(cons_bits(s(x_131))) -> bits(s(encArg(x_131))) [0] encArg(cons_bits(true)) -> bits(true) [0] encArg(cons_bits(false)) -> bits(false) [0] encArg(cons_bits(cons_half(x_132))) -> bits(half(encArg(x_132))) [0] encArg(cons_bits(cons_inc(x_133))) -> bits(inc(encArg(x_133))) [0] encArg(cons_bits(cons_zero(x_134))) -> bits(zero(encArg(x_134))) [0] encArg(cons_bits(cons_p(x_135))) -> bits(p(encArg(x_135))) [0] encArg(cons_bits(cons_bits(x_136))) -> bits(bits(encArg(x_136))) [0] encArg(cons_bits(cons_bitIter(x_137, x_27))) -> bits(bitIter(encArg(x_137), encArg(x_27))) [0] encArg(cons_bits(cons_if(x_138, x_28, x_33))) -> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) [0] encArg(cons_bits(x_1)) -> bits(null_encArg) [0] encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) [0] encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encode_half(0) -> half(0) [0] encode_half(s(x_11399)) -> half(s(encArg(x_11399))) [0] encode_half(true) -> half(true) [0] encode_half(false) -> half(false) [0] encode_half(cons_half(x_11400)) -> half(half(encArg(x_11400))) [0] encode_half(cons_inc(x_11401)) -> half(inc(encArg(x_11401))) [0] encode_half(cons_zero(x_11402)) -> half(zero(encArg(x_11402))) [0] encode_half(cons_p(x_11403)) -> half(p(encArg(x_11403))) [0] encode_half(cons_bits(x_11404)) -> half(bits(encArg(x_11404))) [0] encode_half(cons_bitIter(x_11405, x_2349)) -> half(bitIter(encArg(x_11405), encArg(x_2349))) [0] encode_half(cons_if(x_11406, x_2350, x_3174)) -> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) [0] encode_half(x_1) -> half(null_encArg) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_inc(0) -> inc(0) [0] encode_inc(s(x_11407)) -> inc(s(encArg(x_11407))) [0] encode_inc(true) -> inc(true) [0] encode_inc(false) -> inc(false) [0] encode_inc(cons_half(x_11408)) -> inc(half(encArg(x_11408))) [0] encode_inc(cons_inc(x_11409)) -> inc(inc(encArg(x_11409))) [0] encode_inc(cons_zero(x_11410)) -> inc(zero(encArg(x_11410))) [0] encode_inc(cons_p(x_11411)) -> inc(p(encArg(x_11411))) [0] encode_inc(cons_bits(x_11412)) -> inc(bits(encArg(x_11412))) [0] encode_inc(cons_bitIter(x_11413, x_2351)) -> inc(bitIter(encArg(x_11413), encArg(x_2351))) [0] encode_inc(cons_if(x_11414, x_2352, x_3175)) -> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) [0] encode_inc(x_1) -> inc(null_encArg) [0] encode_zero(0) -> zero(0) [0] encode_zero(s(x_11415)) -> zero(s(encArg(x_11415))) [0] encode_zero(true) -> zero(true) [0] encode_zero(false) -> zero(false) [0] encode_zero(cons_half(x_11416)) -> zero(half(encArg(x_11416))) [0] encode_zero(cons_inc(x_11417)) -> zero(inc(encArg(x_11417))) [0] encode_zero(cons_zero(x_11418)) -> zero(zero(encArg(x_11418))) [0] encode_zero(cons_p(x_11419)) -> zero(p(encArg(x_11419))) [0] encode_zero(cons_bits(x_11420)) -> zero(bits(encArg(x_11420))) [0] encode_zero(cons_bitIter(x_11421, x_2353)) -> zero(bitIter(encArg(x_11421), encArg(x_2353))) [0] encode_zero(cons_if(x_11422, x_2354, x_3176)) -> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) [0] encode_zero(x_1) -> zero(null_encArg) [0] encode_true -> true [0] encode_false -> false [0] encode_p(0) -> p(0) [0] encode_p(s(x_11423)) -> p(s(encArg(x_11423))) [0] encode_p(true) -> p(true) [0] encode_p(false) -> p(false) [0] encode_p(cons_half(x_11424)) -> p(half(encArg(x_11424))) [0] encode_p(cons_inc(x_11425)) -> p(inc(encArg(x_11425))) [0] encode_p(cons_zero(x_11426)) -> p(zero(encArg(x_11426))) [0] encode_p(cons_p(x_11427)) -> p(p(encArg(x_11427))) [0] encode_p(cons_bits(x_11428)) -> p(bits(encArg(x_11428))) [0] encode_p(cons_bitIter(x_11429, x_2355)) -> p(bitIter(encArg(x_11429), encArg(x_2355))) [0] encode_p(cons_if(x_11430, x_2356, x_3177)) -> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) [0] encode_p(x_1) -> p(null_encArg) [0] encode_bits(0) -> bits(0) [0] encode_bits(s(x_11431)) -> bits(s(encArg(x_11431))) [0] encode_bits(true) -> bits(true) [0] encode_bits(false) -> bits(false) [0] encode_bits(cons_half(x_11432)) -> bits(half(encArg(x_11432))) [0] encode_bits(cons_inc(x_11433)) -> bits(inc(encArg(x_11433))) [0] encode_bits(cons_zero(x_11434)) -> bits(zero(encArg(x_11434))) [0] encode_bits(cons_p(x_11435)) -> bits(p(encArg(x_11435))) [0] encode_bits(cons_bits(x_11436)) -> bits(bits(encArg(x_11436))) [0] encode_bits(cons_bitIter(x_11437, x_2357)) -> bits(bitIter(encArg(x_11437), encArg(x_2357))) [0] encode_bits(cons_if(x_11438, x_2358, x_3178)) -> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) [0] encode_bits(x_1) -> bits(null_encArg) [0] encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) [0] encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) [0] encArg(v0) -> null_encArg [0] encode_half(v0) -> null_encode_half [0] encode_0 -> null_encode_0 [0] encode_s(v0) -> null_encode_s [0] encode_inc(v0) -> null_encode_inc [0] encode_zero(v0) -> null_encode_zero [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_p(v0) -> null_encode_p [0] encode_bits(v0) -> null_encode_bits [0] encode_bitIter(v0, v1) -> null_encode_bitIter [0] encode_if(v0, v1, v2) -> null_encode_if [0] zero(v0) -> null_zero [0] inc(v0) -> null_inc [0] half(v0) -> null_half [0] if(v0, v1, v2) -> null_if [0] p(v0) -> null_p [0] The TRS has the following type information: half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p 0 :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p s :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p true :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p false :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encArg :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p cons_if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_0 :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_s :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_true :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_false :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p encode_if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p -> 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encArg :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_0 :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_s :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_true :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_false :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_bits :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_bitIter :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_encode_if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_zero :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_inc :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_half :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_if :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p null_p :: 0:s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_inc:null_encode_zero:null_encode_true:null_encode_false:null_encode_p:null_encode_bits:null_encode_bitIter:null_encode_if:null_zero:null_inc:null_half:null_if:null_p Rewrite Strategy: INNERMOST ---------------------------------------- (13) 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 true => 2 false => 1 null_encArg => 0 null_encode_half => 0 null_encode_0 => 0 null_encode_s => 0 null_encode_inc => 0 null_encode_zero => 0 null_encode_true => 0 null_encode_false => 0 null_encode_p => 0 null_encode_bits => 0 null_encode_bitIter => 0 null_encode_if => 0 null_zero => 0 null_inc => 0 null_half => 0 null_if => 0 null_p => 0 ---------------------------------------- (14) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: y >= 0, z = 0, z' = y bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(x'')) :|: z' = 1 + x'', x'' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + x', 0) :|: z = 1 + x', x' >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + x', 0) :|: z = 1 + x', x' >= 0, y >= 0, z' = y bitIter(z, z') -{ 3 }-> if(1, 1 + x', 1 + inc(x1)) :|: z = 1 + x', x1 >= 0, x' >= 0, z' = 1 + x1 bitIter(z, z') -{ 2 }-> if(0, x, 0) :|: x >= 0, z = x, z' = 0 bitIter(z, z') -{ 1 }-> if(0, x, 0) :|: x >= 0, y >= 0, z = x, z' = y bitIter(z, z') -{ 2 }-> if(0, x, 1 + inc(x2)) :|: z' = 1 + x2, x >= 0, z = x, x2 >= 0 bits(z) -{ 1 }-> bitIter(x, 0) :|: x >= 0, z = x encArg(z) -{ 0 }-> zero(zero(encArg(x_118))) :|: z = 1 + (1 + x_118), x_118 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(x_119))) :|: z = 1 + (1 + x_119), x_119 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(x_117))) :|: z = 1 + (1 + x_117), x_117 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(x_116))) :|: z = 1 + (1 + x_116), x_116 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(x_120))) :|: x_120 >= 0, z = 1 + (1 + x_120) encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> zero(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> zero(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> zero(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(x_115)) :|: z = 1 + (1 + x_115), x_115 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(x_126))) :|: z = 1 + (1 + x_126), x_126 >= 0 encArg(z) -{ 0 }-> p(p(encArg(x_127))) :|: z = 1 + (1 + x_127), x_127 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(x_125))) :|: z = 1 + (1 + x_125), x_125 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(x_124))) :|: x_124 >= 0, z = 1 + (1 + x_124) encArg(z) -{ 0 }-> p(bits(encArg(x_128))) :|: x_128 >= 0, z = 1 + (1 + x_128) encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> p(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> p(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> p(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(x_123)) :|: x_123 >= 0, z = 1 + (1 + x_123) encArg(z) -{ 0 }-> inc(zero(encArg(x_110))) :|: z = 1 + (1 + x_110), x_110 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(x_111))) :|: z = 1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(x_19))) :|: z = 1 + (1 + x_19), x_19 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(x_18))) :|: z = 1 + (1 + x_18), x_18 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(x_112))) :|: x_112 >= 0, z = 1 + (1 + x_112) encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(x_17)) :|: x_17 >= 0, z = 1 + (1 + x_17) encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(x_12))) :|: z = 1 + (1 + x_12), x_12 >= 0 encArg(z) -{ 0 }-> half(p(encArg(x_13))) :|: z = 1 + (1 + x_13), x_13 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(x_11))) :|: x_11 >= 0, z = 1 + (1 + x_11) encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(x_1''))) :|: z = 1 + (1 + x_1''), x_1'' >= 0 encArg(z) -{ 0 }-> half(bits(encArg(x_14))) :|: x_14 >= 0, z = 1 + (1 + x_14) encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(x_1')) :|: z = 1 + (1 + x_1'), x_1' >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(x_134))) :|: z = 1 + (1 + x_134), x_134 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(x_135))) :|: z = 1 + (1 + x_135), x_135 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(x_133))) :|: z = 1 + (1 + x_133), x_133 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(x_132))) :|: x_132 >= 0, z = 1 + (1 + x_132) encArg(z) -{ 0 }-> bits(bits(encArg(x_136))) :|: z = 1 + (1 + x_136), x_136 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(x_131)) :|: z = 1 + (1 + x_131), x_131 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_bitIter(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_bits(z) -{ 0 }-> bits(zero(encArg(x_11434))) :|: x_11434 >= 0, z = 1 + x_11434 encode_bits(z) -{ 0 }-> bits(p(encArg(x_11435))) :|: x_11435 >= 0, z = 1 + x_11435 encode_bits(z) -{ 0 }-> bits(inc(encArg(x_11433))) :|: x_11433 >= 0, z = 1 + x_11433 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(x_11432))) :|: z = 1 + x_11432, x_11432 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(x_11436))) :|: x_11436 >= 0, z = 1 + x_11436 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: x_1 >= 0, z = x_1 encode_bits(z) -{ 0 }-> bits(1 + encArg(x_11431)) :|: z = 1 + x_11431, x_11431 >= 0 encode_bits(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(x_11402))) :|: z = 1 + x_11402, x_11402 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(x_11403))) :|: z = 1 + x_11403, x_11403 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(x_11401))) :|: z = 1 + x_11401, x_11401 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(x_11400))) :|: z = 1 + x_11400, x_11400 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(x_11404))) :|: x_11404 >= 0, z = 1 + x_11404 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: x_1 >= 0, z = x_1 encode_half(z) -{ 0 }-> half(1 + encArg(x_11399)) :|: x_11399 >= 0, z = 1 + x_11399 encode_half(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_if(z, z', z'') -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(x_11410))) :|: x_11410 >= 0, z = 1 + x_11410 encode_inc(z) -{ 0 }-> inc(p(encArg(x_11411))) :|: z = 1 + x_11411, x_11411 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(x_11409))) :|: z = 1 + x_11409, x_11409 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(x_11408))) :|: z = 1 + x_11408, x_11408 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(x_11412))) :|: z = 1 + x_11412, x_11412 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: x_1 >= 0, z = x_1 encode_inc(z) -{ 0 }-> inc(1 + encArg(x_11407)) :|: z = 1 + x_11407, x_11407 >= 0 encode_inc(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_p(z) -{ 0 }-> p(zero(encArg(x_11426))) :|: x_11426 >= 0, z = 1 + x_11426 encode_p(z) -{ 0 }-> p(p(encArg(x_11427))) :|: x_11427 >= 0, z = 1 + x_11427 encode_p(z) -{ 0 }-> p(inc(encArg(x_11425))) :|: x_11425 >= 0, z = 1 + x_11425 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(x_11424))) :|: x_11424 >= 0, z = 1 + x_11424 encode_p(z) -{ 0 }-> p(bits(encArg(x_11428))) :|: x_11428 >= 0, z = 1 + x_11428 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(2) :|: z = 2 encode_p(z) -{ 0 }-> p(1) :|: z = 1 encode_p(z) -{ 0 }-> p(0) :|: z = 0 encode_p(z) -{ 0 }-> p(0) :|: x_1 >= 0, z = x_1 encode_p(z) -{ 0 }-> p(1 + encArg(x_11423)) :|: x_11423 >= 0, z = 1 + x_11423 encode_p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(x_11418))) :|: z = 1 + x_11418, x_11418 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(x_11419))) :|: z = 1 + x_11419, x_11419 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(x_11417))) :|: z = 1 + x_11417, x_11417 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(x_11416))) :|: x_11416 >= 0, z = 1 + x_11416 encode_zero(z) -{ 0 }-> zero(bits(encArg(x_11420))) :|: z = 1 + x_11420, x_11420 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(2) :|: z = 2 encode_zero(z) -{ 0 }-> zero(1) :|: z = 1 encode_zero(z) -{ 0 }-> zero(0) :|: z = 0 encode_zero(z) -{ 0 }-> zero(0) :|: x_1 >= 0, z = x_1 encode_zero(z) -{ 0 }-> zero(1 + encArg(x_11415)) :|: z = 1 + x_11415, x_11415 >= 0 encode_zero(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 half(z) -{ 1 }-> 1 + half(x) :|: x >= 0, z = 1 + (1 + x) if(z, z', z'') -{ 1 }-> p(y) :|: z = 2, z' = x, z'' = y, x >= 0, y >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, y) :|: z'' = y, z = 1, y >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, y) :|: z'' = y, z = 1, y >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, y) :|: z' = x, z'' = y, z = 1, x >= 0, y >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(x3), y) :|: z' = 1 + (1 + x3), z'' = y, z = 1, y >= 0, x3 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 inc(z) -{ 1 }-> 1 + inc(x) :|: x >= 0, z = 1 + x p(z) -{ 1 }-> x :|: x >= 0, z = 1 + x p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: x >= 0, z = 1 + x zero(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (15) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: zero(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 zero(z) -{ 1 }-> 1 :|: x >= 0, z = 1 + x zero(z) -{ 1 }-> 2 :|: z = 0 p(z) -{ 1 }-> x :|: x >= 0, z = 1 + x p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: y >= 0, z = 0, z' = y bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(x'')) :|: z' = 1 + x'', x'' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + x', 0) :|: z = 1 + x', x' >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + x', 0) :|: z = 1 + x', x' >= 0, y >= 0, z' = y bitIter(z, z') -{ 3 }-> if(1, 1 + x', 1 + inc(x1)) :|: z = 1 + x', x1 >= 0, x' >= 0, z' = 1 + x1 bitIter(z, z') -{ 2 }-> if(0, x, 0) :|: x >= 0, z = x, z' = 0 bitIter(z, z') -{ 1 }-> if(0, x, 0) :|: x >= 0, y >= 0, z = x, z' = y bitIter(z, z') -{ 2 }-> if(0, x, 1 + inc(x2)) :|: z' = 1 + x2, x >= 0, z = x, x2 >= 0 bits(z) -{ 1 }-> bitIter(x, 0) :|: x >= 0, z = x encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(x_118))) :|: z = 1 + (1 + x_118), x_118 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(x_119))) :|: z = 1 + (1 + x_119), x_119 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(x_117))) :|: z = 1 + (1 + x_117), x_117 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(x_116))) :|: z = 1 + (1 + x_116), x_116 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(x_120))) :|: x_120 >= 0, z = 1 + (1 + x_120) encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(x_115)) :|: z = 1 + (1 + x_115), x_115 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(x_126))) :|: z = 1 + (1 + x_126), x_126 >= 0 encArg(z) -{ 0 }-> p(p(encArg(x_127))) :|: z = 1 + (1 + x_127), x_127 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(x_125))) :|: z = 1 + (1 + x_125), x_125 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(x_124))) :|: x_124 >= 0, z = 1 + (1 + x_124) encArg(z) -{ 0 }-> p(bits(encArg(x_128))) :|: x_128 >= 0, z = 1 + (1 + x_128) encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(x_123)) :|: x_123 >= 0, z = 1 + (1 + x_123) encArg(z) -{ 0 }-> inc(zero(encArg(x_110))) :|: z = 1 + (1 + x_110), x_110 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(x_111))) :|: z = 1 + (1 + x_111), x_111 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(x_19))) :|: z = 1 + (1 + x_19), x_19 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(x_18))) :|: z = 1 + (1 + x_18), x_18 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(x_112))) :|: x_112 >= 0, z = 1 + (1 + x_112) encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(x_17)) :|: x_17 >= 0, z = 1 + (1 + x_17) encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(x_12))) :|: z = 1 + (1 + x_12), x_12 >= 0 encArg(z) -{ 0 }-> half(p(encArg(x_13))) :|: z = 1 + (1 + x_13), x_13 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(x_11))) :|: x_11 >= 0, z = 1 + (1 + x_11) encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(x_1''))) :|: z = 1 + (1 + x_1''), x_1'' >= 0 encArg(z) -{ 0 }-> half(bits(encArg(x_14))) :|: x_14 >= 0, z = 1 + (1 + x_14) encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(x_1')) :|: z = 1 + (1 + x_1'), x_1' >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(x_134))) :|: z = 1 + (1 + x_134), x_134 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(x_135))) :|: z = 1 + (1 + x_135), x_135 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(x_133))) :|: z = 1 + (1 + x_133), x_133 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(x_132))) :|: x_132 >= 0, z = 1 + (1 + x_132) encArg(z) -{ 0 }-> bits(bits(encArg(x_136))) :|: z = 1 + (1 + x_136), x_136 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(x_131)) :|: z = 1 + (1 + x_131), x_131 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z = 1 + x_1, x_1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + x_1, x_1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z = 1 + x_1, x_1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(x_1) :|: z = 1 + x_1, x_1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_bitIter(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_bits(z) -{ 0 }-> bits(zero(encArg(x_11434))) :|: x_11434 >= 0, z = 1 + x_11434 encode_bits(z) -{ 0 }-> bits(p(encArg(x_11435))) :|: x_11435 >= 0, z = 1 + x_11435 encode_bits(z) -{ 0 }-> bits(inc(encArg(x_11433))) :|: x_11433 >= 0, z = 1 + x_11433 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(x_11432))) :|: z = 1 + x_11432, x_11432 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(x_11436))) :|: x_11436 >= 0, z = 1 + x_11436 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: x_1 >= 0, z = x_1 encode_bits(z) -{ 0 }-> bits(1 + encArg(x_11431)) :|: z = 1 + x_11431, x_11431 >= 0 encode_bits(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(x_11402))) :|: z = 1 + x_11402, x_11402 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(x_11403))) :|: z = 1 + x_11403, x_11403 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(x_11401))) :|: z = 1 + x_11401, x_11401 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(x_11400))) :|: z = 1 + x_11400, x_11400 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(x_11404))) :|: x_11404 >= 0, z = 1 + x_11404 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: x_1 >= 0, z = x_1 encode_half(z) -{ 0 }-> half(1 + encArg(x_11399)) :|: x_11399 >= 0, z = 1 + x_11399 encode_half(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_if(z, z', z'') -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, x_3 >= 0, x_2 >= 0, z = x_1, z' = x_2, z'' = x_3 encode_if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(x_11410))) :|: x_11410 >= 0, z = 1 + x_11410 encode_inc(z) -{ 0 }-> inc(p(encArg(x_11411))) :|: z = 1 + x_11411, x_11411 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(x_11409))) :|: z = 1 + x_11409, x_11409 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(x_11408))) :|: z = 1 + x_11408, x_11408 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(x_11412))) :|: z = 1 + x_11412, x_11412 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: x_1 >= 0, z = x_1 encode_inc(z) -{ 0 }-> inc(1 + encArg(x_11407)) :|: z = 1 + x_11407, x_11407 >= 0 encode_inc(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(x_11426))) :|: x_11426 >= 0, z = 1 + x_11426 encode_p(z) -{ 0 }-> p(p(encArg(x_11427))) :|: x_11427 >= 0, z = 1 + x_11427 encode_p(z) -{ 0 }-> p(inc(encArg(x_11425))) :|: x_11425 >= 0, z = 1 + x_11425 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(x_11424))) :|: x_11424 >= 0, z = 1 + x_11424 encode_p(z) -{ 0 }-> p(bits(encArg(x_11428))) :|: x_11428 >= 0, z = 1 + x_11428 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(x_11423)) :|: x_11423 >= 0, z = 1 + x_11423 encode_p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: x_1 >= 0, z = x_1, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: x_1 >= 0, z = x_1, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_s(z) -{ 0 }-> 1 + encArg(x_1) :|: x_1 >= 0, z = x_1 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(x_11418))) :|: z = 1 + x_11418, x_11418 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(x_11419))) :|: z = 1 + x_11419, x_11419 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(x_11417))) :|: z = 1 + x_11417, x_11417 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(x_11416))) :|: x_11416 >= 0, z = 1 + x_11416 encode_zero(z) -{ 0 }-> zero(bits(encArg(x_11420))) :|: z = 1 + x_11420, x_11420 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(x_11415)) :|: z = 1 + x_11415, x_11415 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: x_1 >= 0, z = x_1, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: x_1 >= 0, z = x_1, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 half(z) -{ 1 }-> 1 + half(x) :|: x >= 0, z = 1 + (1 + x) if(z, z', z'') -{ 2 }-> x' :|: z = 2, z' = x, z'' = y, x >= 0, y >= 0, x' >= 0, y = 1 + x' if(z, z', z'') -{ 2 }-> bitIter(0, y) :|: z'' = y, z = 1, y >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, y) :|: z'' = y, z = 1, y >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, y) :|: z' = x, z'' = y, z = 1, x >= 0, y >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(x3), y) :|: z' = 1 + (1 + x3), z'' = y, z = 1, y >= 0, x3 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' = x, z'' = y, x >= 0, y >= 0, y = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' = x, z'' = y, x >= 0, y >= 0, v0 >= 0, y = v0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 inc(z) -{ 1 }-> 1 + inc(x) :|: x >= 0, z = 1 + x p(z) -{ 1 }-> x :|: x >= 0, z = 1 + x p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: x >= 0, z = 1 + x zero(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (17) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 ---------------------------------------- (19) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { encode_0 } { encode_false } { inc } { zero } { encode_true } { half } { p } { if, bitIter } { bits } { encArg } { encode_p } { encode_zero } { encode_if } { encode_bitIter } { encode_bits } { encode_inc } { encode_half } { encode_s } ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_0}, {encode_false}, {inc}, {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} ---------------------------------------- (21) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_0}, {encode_false}, {inc}, {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} ---------------------------------------- (23) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_0 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: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_0}, {encode_false}, {inc}, {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: ?, size: O(1) [0] ---------------------------------------- (25) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_0 after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_false}, {inc}, {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (27) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_false}, {inc}, {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_false after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_false}, {inc}, {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: ?, size: O(1) [1] ---------------------------------------- (31) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_false after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {inc}, {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] ---------------------------------------- (33) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {inc}, {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] ---------------------------------------- (35) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: inc after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {inc}, {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: ?, size: O(n^1) [z] ---------------------------------------- (37) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: inc after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> inc(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> inc(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> inc(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(2) :|: z = 2 encode_inc(z) -{ 0 }-> inc(1) :|: z = 1 encode_inc(z) -{ 0 }-> inc(0) :|: z = 0 encode_inc(z) -{ 0 }-> inc(0) :|: z >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 }-> 1 + inc(z - 1) :|: z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] ---------------------------------------- (39) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] ---------------------------------------- (41) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: zero after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {zero}, {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: ?, size: O(1) [2] ---------------------------------------- (43) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: zero after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] ---------------------------------------- (45) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] ---------------------------------------- (47) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_true after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_true}, {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: ?, size: O(1) [2] ---------------------------------------- (49) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: encode_true after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (51) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (53) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: half after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {half}, {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: ?, size: O(n^1) [z] ---------------------------------------- (55) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: half after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> half(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> half(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> half(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(2) :|: z = 2 encode_half(z) -{ 0 }-> half(1) :|: z = 1 encode_half(z) -{ 0 }-> half(0) :|: z = 0 encode_half(z) -{ 0 }-> half(0) :|: z >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 }-> 1 + half(z - 2) :|: z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> bitIter(1 + half(z' - 2), z'') :|: z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] ---------------------------------------- (57) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 + z' }-> bitIter(1 + s11, z'') :|: s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] ---------------------------------------- (59) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: p after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 + z' }-> bitIter(1 + s11, z'') :|: s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {p}, {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: ?, size: O(n^1) [z] ---------------------------------------- (61) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: p after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 + z' }-> bitIter(1 + s11, z'') :|: s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (63) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (64) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 + z' }-> bitIter(1 + s11, z'') :|: s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (65) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: if after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z'' Computed SIZE bound using CoFloCo for: bitIter after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (66) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 + z' }-> bitIter(1 + s11, z'') :|: s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {if,bitIter}, {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: ?, size: O(n^1) [z''] bitIter: runtime: ?, size: O(n^1) [z'] ---------------------------------------- (67) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: if after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 34 + 72*z' + 10*z'*z'' + z'^2 + 4*z'' Computed RUNTIME bound using KoAT for: bitIter after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 327 + 432*z + 20*z*z' + 6*z^2 + 15*z' ---------------------------------------- (68) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 bitIter(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 bitIter(z, z') -{ 3 + z' }-> if(2, 0, 1 + s') :|: s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 3 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 bitIter(z, z') -{ 2 }-> if(1, 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 3 + z' }-> if(1, 1 + (z - 1), 1 + s'') :|: s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 bitIter(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 bitIter(z, z') -{ 2 + z' }-> if(0, z, 1 + s1) :|: s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bits(z) -{ 1 }-> bitIter(z, 0) :|: z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> bitIter(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> bitIter(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 + z' }-> bitIter(1 + s11, z'') :|: s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] ---------------------------------------- (69) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (70) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] ---------------------------------------- (71) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: bits after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (72) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {bits}, {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: ?, size: O(1) [0] ---------------------------------------- (73) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: bits after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 328 + 432*z + 6*z^2 ---------------------------------------- (74) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> bits(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> bits(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> bits(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(2) :|: z = 2 encode_bits(z) -{ 0 }-> bits(1) :|: z = 1 encode_bits(z) -{ 0 }-> bits(0) :|: z = 0 encode_bits(z) -{ 0 }-> bits(0) :|: z >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] ---------------------------------------- (75) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (76) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] ---------------------------------------- (77) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (78) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encArg}, {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (79) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encArg after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 11525 + 41591*z + 21318*z^2 + 810*z^3 ---------------------------------------- (80) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> zero(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(if(encArg(x_122), encArg(x_24), encArg(x_31))) :|: z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 0 }-> zero(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> zero(bitIter(encArg(x_121), encArg(x_23))) :|: z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 0 }-> zero(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(if(encArg(x_130), encArg(x_26), encArg(x_32))) :|: x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 0 }-> p(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> p(bitIter(encArg(x_129), encArg(x_25))) :|: z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 0 }-> p(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_114), encArg(x_22), encArg(x_3''))) :|: x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(bitIter(encArg(x_113), encArg(x_21))) :|: z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 0 }-> inc(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> if(encArg(x_1), encArg(x_2), encArg(x_3)) :|: x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 0 }-> half(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_16), encArg(x_2''), encArg(x_3'))) :|: x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(bitIter(encArg(x_15), encArg(x_2'))) :|: x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(zero(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(p(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(if(encArg(x_138), encArg(x_28), encArg(x_33))) :|: x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 0 }-> bits(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bits(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bits(bitIter(encArg(x_137), encArg(x_27))) :|: z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 0 }-> bits(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> bitIter(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 0 }-> bitIter(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> bits(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(p(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(if(encArg(x_11438), encArg(x_2358), encArg(x_3178))) :|: x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ 0 }-> bits(half(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> bits(bitIter(encArg(x_11437), encArg(x_2357))) :|: z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 0 }-> bits(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(p(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11406), encArg(x_2350), encArg(x_3174))) :|: x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(bitIter(encArg(x_11405), encArg(x_2349))) :|: z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 0 }-> half(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 0 }-> if(encArg(z), encArg(z'), encArg(z'')) :|: z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(p(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11414), encArg(x_2352), encArg(x_3175))) :|: x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(bitIter(encArg(x_11413), encArg(x_2351))) :|: x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> p(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(p(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(if(encArg(x_11430), encArg(x_2356), encArg(x_3177))) :|: x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ 0 }-> p(half(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> p(bitIter(encArg(x_11429), encArg(x_2355))) :|: z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 0 }-> p(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ 0 }-> zero(zero(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(p(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(if(encArg(x_11422), encArg(x_2354), encArg(x_3176))) :|: z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ 0 }-> zero(half(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bits(encArg(z - 1))) :|: z - 1 >= 0 encode_zero(z) -{ 0 }-> zero(bitIter(encArg(x_11421), encArg(x_2353))) :|: z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 0 }-> zero(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] ---------------------------------------- (81) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (82) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] ---------------------------------------- (83) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_p after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (84) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_p}, {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (85) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_p after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 58552 + 217296*z + 219961*z^2 + 8910*z^3 ---------------------------------------- (86) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] ---------------------------------------- (87) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (88) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] ---------------------------------------- (89) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_zero after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (90) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_zero}, {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: ?, size: O(1) [2] ---------------------------------------- (91) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_zero after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 58552 + 217296*z + 219961*z^2 + 8910*z^3 ---------------------------------------- (92) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] ---------------------------------------- (93) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (94) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] ---------------------------------------- (95) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_if after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z'' ---------------------------------------- (96) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_if}, {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: ?, size: O(n^1) [1 + z''] ---------------------------------------- (97) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_if after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3 ---------------------------------------- (98) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] ---------------------------------------- (99) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (100) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] ---------------------------------------- (101) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_bitIter after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z' ---------------------------------------- (102) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_bitIter}, {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: ?, size: O(n^1) [1 + z'] ---------------------------------------- (103) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_bitIter after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3 ---------------------------------------- (104) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] ---------------------------------------- (105) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (106) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] ---------------------------------------- (107) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_bits 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: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_bits}, {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: ?, size: O(1) [0] ---------------------------------------- (109) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_bits after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 61840 + 219900*z + 219997*z^2 + 8910*z^3 ---------------------------------------- (110) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: O(n^3) [61840 + 219900*z + 219997*z^2 + 8910*z^3], size: O(1) [0] ---------------------------------------- (111) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (112) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: O(n^3) [61840 + 219900*z + 219997*z^2 + 8910*z^3], size: O(1) [0] ---------------------------------------- (113) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_inc after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (114) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_inc}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: O(n^3) [61840 + 219900*z + 219997*z^2 + 8910*z^3], size: O(1) [0] encode_inc: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (115) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_inc after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 58555 + 217302*z + 219961*z^2 + 8910*z^3 ---------------------------------------- (116) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: O(n^3) [61840 + 219900*z + 219997*z^2 + 8910*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [58555 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] ---------------------------------------- (117) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (118) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: O(n^3) [61840 + 219900*z + 219997*z^2 + 8910*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [58555 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] ---------------------------------------- (119) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_half after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (120) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: O(n^3) [61840 + 219900*z + 219997*z^2 + 8910*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [58555 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_half: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (121) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_half after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 58561 + 217302*z + 219961*z^2 + 8910*z^3 ---------------------------------------- (122) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: O(n^3) [61840 + 219900*z + 219997*z^2 + 8910*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [58555 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_half: runtime: O(n^3) [58561 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] ---------------------------------------- (123) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (124) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: O(n^3) [61840 + 219900*z + 219997*z^2 + 8910*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [58555 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_half: runtime: O(n^3) [58561 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] ---------------------------------------- (125) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_s after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z ---------------------------------------- (126) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: O(n^3) [61840 + 219900*z + 219997*z^2 + 8910*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [58555 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_half: runtime: O(n^3) [58561 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_s: runtime: ?, size: O(n^1) [2 + z] ---------------------------------------- (127) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_s after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 11525 + 41591*z + 21318*z^2 + 810*z^3 ---------------------------------------- (128) Obligation: Complexity RNTS consisting of the following rules: bitIter(z, z') -{ 37 }-> s21 :|: s21 >= 0, s21 <= 0, z = 0, z' = 0 bitIter(z, z') -{ 41 + 4*s' + z' }-> s22 :|: s22 >= 0, s22 <= 1 + s', s' >= 0, s' <= z' - 1, z' - 1 >= 0, z = 0 bitIter(z, z') -{ 36 }-> s23 :|: s23 >= 0, s23 <= 0, z' >= 0, z = 0 bitIter(z, z') -{ 37 + 72*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z - 1 >= 0, z' = 0 bitIter(z, z') -{ 41 + 4*s'' + 10*s''*z + 82*z + z^2 + z' }-> s25 :|: s25 >= 0, s25 <= 1 + s'', s'' >= 0, s'' <= z' - 1, z' - 1 >= 0, z - 1 >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s26 :|: s26 >= 0, s26 <= 0, z - 1 >= 0, z' >= 0 bitIter(z, z') -{ 36 + 72*z + z^2 }-> s27 :|: s27 >= 0, s27 <= 0, z >= 0, z' = 0 bitIter(z, z') -{ 40 + 4*s1 + 10*s1*z + 82*z + z^2 + z' }-> s28 :|: s28 >= 0, s28 <= 1 + s1, s1 >= 0, s1 <= z' - 1, z >= 0, z' - 1 >= 0 bitIter(z, z') -{ 35 + 72*z + z^2 }-> s29 :|: s29 >= 0, s29 <= 0, z >= 0, z' >= 0 bits(z) -{ 328 + 432*z + 6*z^2 }-> s20 :|: s20 >= 0, s20 <= 0, z >= 0 encArg(z) -{ 34937 + 4*s100 + 10*s100*s99 + 432*s101 + 6*s101^2 + 72*s99 + s99^2 + 41591*x_138 + 21318*x_138^2 + 810*x_138^3 + 41591*x_28 + 21318*x_28^2 + 810*x_28^3 + 41591*x_33 + 21318*x_33^2 + 810*x_33^3 }-> s102 :|: s98 >= 0, s98 <= x_138 + 1, s99 >= 0, s99 <= x_28 + 1, s100 >= 0, s100 <= x_33 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, x_138 >= 0, x_33 >= 0, z = 1 + (1 + x_138 + x_28 + x_33), x_28 >= 0 encArg(z) -{ 23377 + 432*s103 + 20*s103*s104 + 6*s103^2 + 15*s104 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 }-> s105 :|: s103 >= 0, s103 <= x_1 + 1, s104 >= 0, s104 <= x_2 + 1, s105 >= 0, s105 <= s104, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 34609 + 72*s107 + 10*s107*s108 + s107^2 + 4*s108 + 41591*x_1 + 21318*x_1^2 + 810*x_1^3 + 41591*x_2 + 21318*x_2^2 + 810*x_2^3 + 41591*x_3 + 21318*x_3^2 + 810*x_3^3 }-> s109 :|: s106 >= 0, s106 <= x_1 + 1, s107 >= 0, s107 <= x_2 + 1, s108 >= 0, s108 <= x_3 + 1, s109 >= 0, s109 <= s108, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s13 :|: s13 >= 0, s13 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s14 :|: s14 >= 0, s14 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s15 :|: s15 >= 0, s15 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s179 + -33961*z + 16458*z^2 + 810*z^3 }-> s180 :|: s178 >= 0, s178 <= z - 2 + 1, s179 >= 0, s179 <= 2, s180 >= 0, s180 <= s179, z - 2 >= 0 encArg(z) -{ 7137 + s182 + -33961*z + 16458*z^2 + 810*z^3 }-> s183 :|: s181 >= 0, s181 <= z - 2 + 1, s182 >= 0, s182 <= 2, s183 >= 0, s183 <= s182, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s185 :|: s184 >= 0, s184 <= z - 2 + 1, s185 >= 0, s185 <= 2, z - 2 >= 0 encArg(z) -{ 7138 + s186 + -33961*z + 16458*z^2 + 810*z^3 }-> s188 :|: s186 >= 0, s186 <= z - 2 + 1, s187 >= 0, s187 <= s186, s188 >= 0, s188 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + s189 + -33961*z + 16458*z^2 + 810*z^3 }-> s191 :|: s189 >= 0, s189 <= z - 2 + 1, s190 >= 0, s190 <= s189, s191 >= 0, s191 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s194 :|: s192 >= 0, s192 <= z - 2 + 1, s193 >= 0, s193 <= 2, s194 >= 0, s194 <= 2, z - 2 >= 0 encArg(z) -{ 7464 + 432*s195 + 6*s195^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s197 :|: s195 >= 0, s195 <= z - 2 + 1, s196 >= 0, s196 <= 0, s197 >= 0, s197 <= 2, z - 2 >= 0 encArg(z) -{ 1 }-> s2 :|: s2 >= 0, s2 <= 0, z = 1 + 0 encArg(z) -{ 23378 + 432*s198 + 20*s198*s199 + 6*s198^2 + 15*s199 + 41591*x_121 + 21318*x_121^2 + 810*x_121^3 + 41591*x_23 + 21318*x_23^2 + 810*x_23^3 }-> s201 :|: s198 >= 0, s198 <= x_121 + 1, s199 >= 0, s199 <= x_23 + 1, s200 >= 0, s200 <= s199, s201 >= 0, s201 <= 2, z = 1 + (1 + x_121 + x_23), x_23 >= 0, x_121 >= 0 encArg(z) -{ 34610 + 72*s203 + 10*s203*s204 + s203^2 + 4*s204 + 41591*x_122 + 21318*x_122^2 + 810*x_122^3 + 41591*x_24 + 21318*x_24^2 + 810*x_24^3 + 41591*x_31 + 21318*x_31^2 + 810*x_31^3 }-> s206 :|: s202 >= 0, s202 <= x_122 + 1, s203 >= 0, s203 <= x_24 + 1, s204 >= 0, s204 <= x_31 + 1, s205 >= 0, s205 <= s204, s206 >= 0, s206 <= 2, z = 1 + (1 + x_122 + x_24 + x_31), x_122 >= 0, x_24 >= 0, x_31 >= 0 encArg(z) -{ 7464 + 432*s208 + 6*s208^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s209 :|: s207 >= 0, s207 <= z - 2 + 1, s208 >= 0, s208 <= 2, s209 >= 0, s209 <= 0, z - 2 >= 0 encArg(z) -{ 7138 + s243 + -33961*z + 16458*z^2 + 810*z^3 }-> s244 :|: s242 >= 0, s242 <= z - 2 + 1, s243 >= 0, s243 <= s242, s244 >= 0, s244 <= s243, z - 2 >= 0 encArg(z) -{ 7137 + s246 + -33961*z + 16458*z^2 + 810*z^3 }-> s247 :|: s245 >= 0, s245 <= z - 2 + 1, s246 >= 0, s246 <= s245, s247 >= 0, s247 <= s246, z - 2 >= 0 encArg(z) -{ 7136 + -33961*z + 16458*z^2 + 810*z^3 }-> s249 :|: s248 >= 0, s248 <= z - 2 + 1, s249 >= 0, s249 <= 1 + s248, z - 2 >= 0 encArg(z) -{ 7138 + s250 + -33961*z + 16458*z^2 + 810*z^3 }-> s252 :|: s250 >= 0, s250 <= z - 2 + 1, s251 >= 0, s251 <= s250, s252 >= 0, s252 <= s251, z - 2 >= 0 encArg(z) -{ 7137 + s253 + -33961*z + 16458*z^2 + 810*z^3 }-> s255 :|: s253 >= 0, s253 <= z - 2 + 1, s254 >= 0, s254 <= s253, s255 >= 0, s255 <= s254, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s258 :|: s256 >= 0, s256 <= z - 2 + 1, s257 >= 0, s257 <= s256, s258 >= 0, s258 <= s257, z - 2 >= 0 encArg(z) -{ 7464 + 432*s259 + 6*s259^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s261 :|: s259 >= 0, s259 <= z - 2 + 1, s260 >= 0, s260 <= 0, s261 >= 0, s261 <= s260, z - 2 >= 0 encArg(z) -{ 23378 + 432*s262 + 20*s262*s263 + 6*s262^2 + 15*s263 + 41591*x_129 + 21318*x_129^2 + 810*x_129^3 + 41591*x_25 + 21318*x_25^2 + 810*x_25^3 }-> s265 :|: s262 >= 0, s262 <= x_129 + 1, s263 >= 0, s263 <= x_25 + 1, s264 >= 0, s264 <= s263, s265 >= 0, s265 <= s264, z = 1 + (1 + x_129 + x_25), x_25 >= 0, x_129 >= 0 encArg(z) -{ 34610 + 72*s267 + 10*s267*s268 + s267^2 + 4*s268 + 41591*x_130 + 21318*x_130^2 + 810*x_130^3 + 41591*x_26 + 21318*x_26^2 + 810*x_26^3 + 41591*x_32 + 21318*x_32^2 + 810*x_32^3 }-> s270 :|: s266 >= 0, s266 <= x_130 + 1, s267 >= 0, s267 <= x_26 + 1, s268 >= 0, s268 <= x_32 + 1, s269 >= 0, s269 <= s268, s270 >= 0, s270 <= s269, x_32 >= 0, x_130 >= 0, x_26 >= 0, z = 1 + (1 + x_130 + x_26 + x_32) encArg(z) -{ 7464 + 432*s272 + 6*s272^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s273 :|: s271 >= 0, s271 <= z - 2 + 1, s272 >= 0, s272 <= s271, s273 >= 0, s273 <= 0, z - 2 >= 0 encArg(z) -{ 3 }-> s3 :|: s3 >= 0, s3 <= 2, z = 1 + 2 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s308 :|: s306 >= 0, s306 <= z - 2 + 1, s307 >= 0, s307 <= s306, s308 >= 0, s308 <= 2, z - 2 >= 0 encArg(z) -{ 7137 + -33961*z + 16458*z^2 + 810*z^3 }-> s311 :|: s309 >= 0, s309 <= z - 2 + 1, s310 >= 0, s310 <= 2, s311 >= 0, s311 <= s310, z - 2 >= 0 encArg(z) -{ 328 }-> s34 :|: s34 >= 0, s34 <= 0, z = 1 + 0 encArg(z) -{ 1216 }-> s35 :|: s35 >= 0, s35 <= 0, z = 1 + 2 encArg(z) -{ 766 }-> s36 :|: s36 >= 0, s36 <= 0, z = 1 + 1 encArg(z) -{ 328 }-> s37 :|: s37 >= 0, s37 <= 0, z - 1 >= 0 encArg(z) -{ 2 }-> s4 :|: s4 >= 0, s4 <= 1, z = 1 + 1 encArg(z) -{ 7138 + s43 + -33961*z + 16458*z^2 + 810*z^3 }-> s44 :|: s43 >= 0, s43 <= z - 2 + 1, s44 >= 0, s44 <= 1 + s43, z - 2 >= 0 encArg(z) -{ 7139 + s45 + s46 + -33961*z + 16458*z^2 + 810*z^3 }-> s47 :|: s45 >= 0, s45 <= z - 2 + 1, s46 >= 0, s46 <= s45, s47 >= 0, s47 <= s46, z - 2 >= 0 encArg(z) -{ 1 }-> s5 :|: s5 >= 0, s5 <= 0, z - 1 >= 0 encArg(z) -{ 7138 + s48 + s49 + -33961*z + 16458*z^2 + 810*z^3 }-> s50 :|: s48 >= 0, s48 <= z - 2 + 1, s49 >= 0, s49 <= s48, s50 >= 0, s50 <= s49, z - 2 >= 0 encArg(z) -{ 7465 + 432*s51 + 6*s51^2 + s52 + -33961*z + 16458*z^2 + 810*z^3 }-> s53 :|: s51 >= 0, s51 <= z - 2 + 1, s52 >= 0, s52 <= 0, s53 >= 0, s53 <= s52, z - 2 >= 0 encArg(z) -{ 23379 + 432*s54 + 20*s54*s55 + 6*s54^2 + 15*s55 + s56 + 41591*x_15 + 21318*x_15^2 + 810*x_15^3 + 41591*x_2' + 21318*x_2'^2 + 810*x_2'^3 }-> s57 :|: s54 >= 0, s54 <= x_15 + 1, s55 >= 0, s55 <= x_2' + 1, s56 >= 0, s56 <= s55, s57 >= 0, s57 <= s56, x_15 >= 0, x_2' >= 0, z = 1 + (1 + x_15 + x_2') encArg(z) -{ 34611 + 72*s59 + 10*s59*s60 + s59^2 + 4*s60 + s61 + 41591*x_16 + 21318*x_16^2 + 810*x_16^3 + 41591*x_2'' + 21318*x_2''^2 + 810*x_2''^3 + 41591*x_3' + 21318*x_3'^2 + 810*x_3'^3 }-> s62 :|: s58 >= 0, s58 <= x_16 + 1, s59 >= 0, s59 <= x_2'' + 1, s60 >= 0, s60 <= x_3' + 1, s61 >= 0, s61 <= s60, s62 >= 0, s62 <= s61, x_16 >= 0, x_3' >= 0, x_2'' >= 0, z = 1 + (1 + x_16 + x_2'' + x_3') encArg(z) -{ 7137 + s63 + -33961*z + 16458*z^2 + 810*z^3 }-> s64 :|: s63 >= 0, s63 <= z - 2 + 1, s64 >= 0, s64 <= 1 + s63, z - 2 >= 0 encArg(z) -{ 7138 + s65 + s66 + -33961*z + 16458*z^2 + 810*z^3 }-> s67 :|: s65 >= 0, s65 <= z - 2 + 1, s66 >= 0, s66 <= s65, s67 >= 0, s67 <= s66, z - 2 >= 0 encArg(z) -{ 7137 + s68 + s69 + -33961*z + 16458*z^2 + 810*z^3 }-> s70 :|: s68 >= 0, s68 <= z - 2 + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, z - 2 >= 0 encArg(z) -{ 7464 + 432*s71 + 6*s71^2 + s72 + -33961*z + 16458*z^2 + 810*z^3 }-> s73 :|: s71 >= 0, s71 <= z - 2 + 1, s72 >= 0, s72 <= 0, s73 >= 0, s73 <= s72, z - 2 >= 0 encArg(z) -{ 23378 + 432*s74 + 20*s74*s75 + 6*s74^2 + 15*s75 + s76 + 41591*x_113 + 21318*x_113^2 + 810*x_113^3 + 41591*x_21 + 21318*x_21^2 + 810*x_21^3 }-> s77 :|: s74 >= 0, s74 <= x_113 + 1, s75 >= 0, s75 <= x_21 + 1, s76 >= 0, s76 <= s75, s77 >= 0, s77 <= s76, z = 1 + (1 + x_113 + x_21), x_113 >= 0, x_21 >= 0 encArg(z) -{ 34610 + 72*s79 + 10*s79*s80 + s79^2 + 4*s80 + s81 + 41591*x_114 + 21318*x_114^2 + 810*x_114^3 + 41591*x_22 + 21318*x_22^2 + 810*x_22^3 + 41591*x_3'' + 21318*x_3''^2 + 810*x_3''^3 }-> s82 :|: s78 >= 0, s78 <= x_114 + 1, s79 >= 0, s79 <= x_22 + 1, s80 >= 0, s80 <= x_3'' + 1, s81 >= 0, s81 <= s80, s82 >= 0, s82 <= s81, x_114 >= 0, z = 1 + (1 + x_114 + x_22 + x_3''), x_22 >= 0, x_3'' >= 0 encArg(z) -{ 7901 + 444*s83 + 6*s83^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s84 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= 0, z - 2 >= 0 encArg(z) -{ 7465 + s85 + 432*s86 + 6*s86^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s87 :|: s85 >= 0, s85 <= z - 2 + 1, s86 >= 0, s86 <= s85, s87 >= 0, s87 <= 0, z - 2 >= 0 encArg(z) -{ 7464 + s88 + 432*s89 + 6*s89^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s90 :|: s88 >= 0, s88 <= z - 2 + 1, s89 >= 0, s89 <= s88, s90 >= 0, s90 <= 0, z - 2 >= 0 encArg(z) -{ 7791 + 432*s91 + 6*s91^2 + 432*s92 + 6*s92^2 + -33961*z + 16458*z^2 + 810*z^3 }-> s93 :|: s91 >= 0, s91 <= z - 2 + 1, s92 >= 0, s92 <= 0, s93 >= 0, s93 <= 0, z - 2 >= 0 encArg(z) -{ 23705 + 432*s94 + 20*s94*s95 + 6*s94^2 + 15*s95 + 432*s96 + 6*s96^2 + 41591*x_137 + 21318*x_137^2 + 810*x_137^3 + 41591*x_27 + 21318*x_27^2 + 810*x_27^3 }-> s97 :|: s94 >= 0, s94 <= x_137 + 1, s95 >= 0, s95 <= x_27 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= 0, z = 1 + (1 + x_137 + x_27), x_137 >= 0, x_27 >= 0 encArg(z) -{ 1 }-> x :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> x :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 1 }-> 2 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 2 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 1 }-> 1 :|: z = 1 + 2, x >= 0, 2 = 1 + x encArg(z) -{ 1 }-> 1 :|: z = 1 + 1, x >= 0, 1 = 1 + x encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 0, v0 >= 0, 0 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 2, v0 >= 0, 2 = v0 encArg(z) -{ 0 }-> 0 :|: z = 1 + 1, v0 >= 0, 1 = v0 encArg(z) -{ 0 }-> 0 :|: z - 1 >= 0, v0 >= 0, 0 = v0 encArg(z) -{ 1 }-> 0 :|: z = 1 + 0, 0 = 0 encArg(z) -{ 1 }-> 0 :|: z - 1 >= 0, 0 = 0 encArg(z) -{ -9558 + 1385*z + 18888*z^2 + 810*z^3 }-> 1 + s42 :|: s42 >= 0, s42 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_bitIter(z, z') -{ 23377 + 432*s171 + 20*s171*s172 + 6*s171^2 + 15*s172 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 }-> s173 :|: s171 >= 0, s171 <= z + 1, s172 >= 0, s172 <= z' + 1, s173 >= 0, s173 <= s172, z >= 0, z' >= 0 encode_bitIter(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_bits(z) -{ -8792 + 444*s151 + 6*s151^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s152 :|: s151 >= 0, s151 <= z - 1 + 1, s152 >= 0, s152 <= 0, z - 1 >= 0 encode_bits(z) -{ -9228 + s153 + 432*s154 + 6*s154^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s155 :|: s153 >= 0, s153 <= z - 1 + 1, s154 >= 0, s154 <= s153, s155 >= 0, s155 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + s156 + 432*s157 + 6*s157^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s158 :|: s156 >= 0, s156 <= z - 1 + 1, s157 >= 0, s157 <= s156, s158 >= 0, s158 <= 0, z - 1 >= 0 encode_bits(z) -{ -8902 + 432*s159 + 6*s159^2 + 432*s160 + 6*s160^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= 0, s161 >= 0, s161 <= 0, z - 1 >= 0 encode_bits(z) -{ 23705 + 432*s162 + 20*s162*s163 + 6*s162^2 + 15*s163 + 432*s164 + 6*s164^2 + 41591*x_11437 + 21318*x_11437^2 + 810*x_11437^3 + 41591*x_2357 + 21318*x_2357^2 + 810*x_2357^3 }-> s165 :|: s162 >= 0, s162 <= x_11437 + 1, s163 >= 0, s163 <= x_2357 + 1, s164 >= 0, s164 <= s163, s165 >= 0, s165 <= 0, z = 1 + x_11437 + x_2357, x_11437 >= 0, x_2357 >= 0 encode_bits(z) -{ 34937 + 72*s167 + 10*s167*s168 + s167^2 + 4*s168 + 432*s169 + 6*s169^2 + 41591*x_11438 + 21318*x_11438^2 + 810*x_11438^3 + 41591*x_2358 + 21318*x_2358^2 + 810*x_2358^3 + 41591*x_3178 + 21318*x_3178^2 + 810*x_3178^3 }-> s170 :|: s166 >= 0, s166 <= x_11438 + 1, s167 >= 0, s167 <= x_2358 + 1, s168 >= 0, s168 <= x_3178 + 1, s169 >= 0, s169 <= s168, s170 >= 0, s170 <= 0, x_2358 >= 0, z = 1 + x_11438 + x_2358 + x_3178, x_11438 >= 0, x_3178 >= 0 encode_bits(z) -{ -9229 + 432*s240 + 6*s240^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s241 :|: s239 >= 0, s239 <= z - 1 + 1, s240 >= 0, s240 <= 2, s241 >= 0, s241 <= 0, z - 1 >= 0 encode_bits(z) -{ -9229 + 432*s304 + 6*s304^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s305 :|: s303 >= 0, s303 <= z - 1 + 1, s304 >= 0, s304 <= s303, s305 >= 0, s305 <= 0, z - 1 >= 0 encode_bits(z) -{ 328 }-> s38 :|: s38 >= 0, s38 <= 0, z = 0 encode_bits(z) -{ 1216 }-> s39 :|: s39 >= 0, s39 <= 0, z = 2 encode_bits(z) -{ 766 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 encode_bits(z) -{ 328 }-> s41 :|: s41 >= 0, s41 <= 0, z >= 0 encode_bits(z) -{ 0 }-> 0 :|: z >= 0 encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -9555 + s110 + 1385*z + 18888*z^2 + 810*z^3 }-> s111 :|: s110 >= 0, s110 <= z - 1 + 1, s111 >= 0, s111 <= 1 + s110, z - 1 >= 0 encode_half(z) -{ -9554 + s112 + s113 + 1385*z + 18888*z^2 + 810*z^3 }-> s114 :|: s112 >= 0, s112 <= z - 1 + 1, s113 >= 0, s113 <= s112, s114 >= 0, s114 <= s113, z - 1 >= 0 encode_half(z) -{ -9555 + s115 + s116 + 1385*z + 18888*z^2 + 810*z^3 }-> s117 :|: s115 >= 0, s115 <= z - 1 + 1, s116 >= 0, s116 <= s115, s117 >= 0, s117 <= s116, z - 1 >= 0 encode_half(z) -{ -9228 + 432*s118 + 6*s118^2 + s119 + 1385*z + 18888*z^2 + 810*z^3 }-> s120 :|: s118 >= 0, s118 <= z - 1 + 1, s119 >= 0, s119 <= 0, s120 >= 0, s120 <= s119, z - 1 >= 0 encode_half(z) -{ 23379 + 432*s121 + 20*s121*s122 + 6*s121^2 + 15*s122 + s123 + 41591*x_11405 + 21318*x_11405^2 + 810*x_11405^3 + 41591*x_2349 + 21318*x_2349^2 + 810*x_2349^3 }-> s124 :|: s121 >= 0, s121 <= x_11405 + 1, s122 >= 0, s122 <= x_2349 + 1, s123 >= 0, s123 <= s122, s124 >= 0, s124 <= s123, z = 1 + x_11405 + x_2349, x_11405 >= 0, x_2349 >= 0 encode_half(z) -{ 34611 + 72*s126 + 10*s126*s127 + s126^2 + 4*s127 + s128 + 41591*x_11406 + 21318*x_11406^2 + 810*x_11406^3 + 41591*x_2350 + 21318*x_2350^2 + 810*x_2350^3 + 41591*x_3174 + 21318*x_3174^2 + 810*x_3174^3 }-> s129 :|: s125 >= 0, s125 <= x_11406 + 1, s126 >= 0, s126 <= x_2350 + 1, s127 >= 0, s127 <= x_3174 + 1, s128 >= 0, s128 <= s127, s129 >= 0, s129 <= s128, x_3174 >= 0, x_11406 >= 0, x_2350 >= 0, z = 1 + x_11406 + x_2350 + x_3174 encode_half(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 0 encode_half(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 2 encode_half(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 encode_half(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z >= 0 encode_half(z) -{ -9555 + s211 + 1385*z + 18888*z^2 + 810*z^3 }-> s212 :|: s210 >= 0, s210 <= z - 1 + 1, s211 >= 0, s211 <= 2, s212 >= 0, s212 <= s211, z - 1 >= 0 encode_half(z) -{ -9555 + s275 + 1385*z + 18888*z^2 + 810*z^3 }-> s276 :|: s274 >= 0, s274 <= z - 1 + 1, s275 >= 0, s275 <= s274, s276 >= 0, s276 <= s275, z - 1 >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 34609 + 72*s175 + 10*s175*s176 + s175^2 + 4*s176 + 41591*z + 21318*z^2 + 810*z^3 + 41591*z' + 21318*z'^2 + 810*z'^3 + 41591*z'' + 21318*z''^2 + 810*z''^3 }-> s177 :|: s174 >= 0, s174 <= z + 1, s175 >= 0, s175 <= z' + 1, s176 >= 0, s176 <= z'' + 1, s177 >= 0, s177 <= s176, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ -9556 + s131 + 1385*z + 18888*z^2 + 810*z^3 }-> s132 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= 1 + s131, z - 1 >= 0 encode_inc(z) -{ -9555 + s133 + s134 + 1385*z + 18888*z^2 + 810*z^3 }-> s135 :|: s133 >= 0, s133 <= z - 1 + 1, s134 >= 0, s134 <= s133, s135 >= 0, s135 <= s134, z - 1 >= 0 encode_inc(z) -{ -9556 + s136 + s137 + 1385*z + 18888*z^2 + 810*z^3 }-> s138 :|: s136 >= 0, s136 <= z - 1 + 1, s137 >= 0, s137 <= s136, s138 >= 0, s138 <= s137, z - 1 >= 0 encode_inc(z) -{ -9229 + 432*s139 + 6*s139^2 + s140 + 1385*z + 18888*z^2 + 810*z^3 }-> s141 :|: s139 >= 0, s139 <= z - 1 + 1, s140 >= 0, s140 <= 0, s141 >= 0, s141 <= s140, z - 1 >= 0 encode_inc(z) -{ 23378 + 432*s142 + 20*s142*s143 + 6*s142^2 + 15*s143 + s144 + 41591*x_11413 + 21318*x_11413^2 + 810*x_11413^3 + 41591*x_2351 + 21318*x_2351^2 + 810*x_2351^3 }-> s145 :|: s142 >= 0, s142 <= x_11413 + 1, s143 >= 0, s143 <= x_2351 + 1, s144 >= 0, s144 <= s143, s145 >= 0, s145 <= s144, x_2351 >= 0, x_11413 >= 0, z = 1 + x_11413 + x_2351 encode_inc(z) -{ 34610 + 72*s147 + 10*s147*s148 + s147^2 + 4*s148 + s149 + 41591*x_11414 + 21318*x_11414^2 + 810*x_11414^3 + 41591*x_2352 + 21318*x_2352^2 + 810*x_2352^3 + 41591*x_3175 + 21318*x_3175^2 + 810*x_3175^3 }-> s150 :|: s146 >= 0, s146 <= x_11414 + 1, s147 >= 0, s147 <= x_2352 + 1, s148 >= 0, s148 <= x_3175 + 1, s149 >= 0, s149 <= s148, s150 >= 0, s150 <= s149, x_3175 >= 0, z = 1 + x_11414 + x_2352 + x_3175, x_11414 >= 0, x_2352 >= 0 encode_inc(z) -{ -9556 + s214 + 1385*z + 18888*z^2 + 810*z^3 }-> s215 :|: s213 >= 0, s213 <= z - 1 + 1, s214 >= 0, s214 <= 2, s215 >= 0, s215 <= s214, z - 1 >= 0 encode_inc(z) -{ -9556 + s278 + 1385*z + 18888*z^2 + 810*z^3 }-> s279 :|: s277 >= 0, s277 <= z - 1 + 1, s278 >= 0, s278 <= s277, s279 >= 0, s279 <= s278, z - 1 >= 0 encode_inc(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 0 encode_inc(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 2 encode_inc(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 encode_inc(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s281 :|: s280 >= 0, s280 <= z - 1 + 1, s281 >= 0, s281 <= 1 + s280, z - 1 >= 0 encode_p(z) -{ -9555 + s282 + 1385*z + 18888*z^2 + 810*z^3 }-> s284 :|: s282 >= 0, s282 <= z - 1 + 1, s283 >= 0, s283 <= s282, s284 >= 0, s284 <= s283, z - 1 >= 0 encode_p(z) -{ -9556 + s285 + 1385*z + 18888*z^2 + 810*z^3 }-> s287 :|: s285 >= 0, s285 <= z - 1 + 1, s286 >= 0, s286 <= s285, s287 >= 0, s287 <= s286, z - 1 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s290 :|: s288 >= 0, s288 <= z - 1 + 1, s289 >= 0, s289 <= s288, s290 >= 0, s290 <= s289, z - 1 >= 0 encode_p(z) -{ -9229 + 432*s291 + 6*s291^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s293 :|: s291 >= 0, s291 <= z - 1 + 1, s292 >= 0, s292 <= 0, s293 >= 0, s293 <= s292, z - 1 >= 0 encode_p(z) -{ 23378 + 432*s294 + 20*s294*s295 + 6*s294^2 + 15*s295 + 41591*x_11429 + 21318*x_11429^2 + 810*x_11429^3 + 41591*x_2355 + 21318*x_2355^2 + 810*x_2355^3 }-> s297 :|: s294 >= 0, s294 <= x_11429 + 1, s295 >= 0, s295 <= x_2355 + 1, s296 >= 0, s296 <= s295, s297 >= 0, s297 <= s296, z = 1 + x_11429 + x_2355, x_2355 >= 0, x_11429 >= 0 encode_p(z) -{ 34610 + 72*s299 + 10*s299*s300 + s299^2 + 4*s300 + 41591*x_11430 + 21318*x_11430^2 + 810*x_11430^3 + 41591*x_2356 + 21318*x_2356^2 + 810*x_2356^3 + 41591*x_3177 + 21318*x_3177^2 + 810*x_3177^3 }-> s302 :|: s298 >= 0, s298 <= x_11430 + 1, s299 >= 0, s299 <= x_2356 + 1, s300 >= 0, s300 <= x_3177 + 1, s301 >= 0, s301 <= s300, s302 >= 0, s302 <= s301, x_2356 >= 0, x_3177 >= 0, z = 1 + x_11430 + x_2356 + x_3177, x_11430 >= 0 encode_p(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s317 :|: s315 >= 0, s315 <= z - 1 + 1, s316 >= 0, s316 <= 2, s317 >= 0, s317 <= s316, z - 1 >= 0 encode_p(z) -{ 1 }-> x :|: z = 2, x >= 0, 2 = 1 + x encode_p(z) -{ 1 }-> x :|: z = 1, x >= 0, 1 = 1 + x encode_p(z) -{ 0 }-> 0 :|: z >= 0 encode_p(z) -{ 1 }-> 0 :|: z = 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_p(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_p(z) -{ 1 }-> 0 :|: z >= 0, 0 = 0 encode_p(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 11525 + 41591*z + 21318*z^2 + 810*z^3 }-> 1 + s130 :|: s130 >= 0, s130 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: encode_zero(z) -{ -9557 + 1385*z + 18888*z^2 + 810*z^3 }-> s217 :|: s216 >= 0, s216 <= z - 1 + 1, s217 >= 0, s217 <= 2, z - 1 >= 0 encode_zero(z) -{ -9555 + s218 + 1385*z + 18888*z^2 + 810*z^3 }-> s220 :|: s218 >= 0, s218 <= z - 1 + 1, s219 >= 0, s219 <= s218, s220 >= 0, s220 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + s221 + 1385*z + 18888*z^2 + 810*z^3 }-> s223 :|: s221 >= 0, s221 <= z - 1 + 1, s222 >= 0, s222 <= s221, s223 >= 0, s223 <= 2, z - 1 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s226 :|: s224 >= 0, s224 <= z - 1 + 1, s225 >= 0, s225 <= 2, s226 >= 0, s226 <= 2, z - 1 >= 0 encode_zero(z) -{ -9229 + 432*s227 + 6*s227^2 + 1385*z + 18888*z^2 + 810*z^3 }-> s229 :|: s227 >= 0, s227 <= z - 1 + 1, s228 >= 0, s228 <= 0, s229 >= 0, s229 <= 2, z - 1 >= 0 encode_zero(z) -{ 23378 + 432*s230 + 20*s230*s231 + 6*s230^2 + 15*s231 + 41591*x_11421 + 21318*x_11421^2 + 810*x_11421^3 + 41591*x_2353 + 21318*x_2353^2 + 810*x_2353^3 }-> s233 :|: s230 >= 0, s230 <= x_11421 + 1, s231 >= 0, s231 <= x_2353 + 1, s232 >= 0, s232 <= s231, s233 >= 0, s233 <= 2, z = 1 + x_11421 + x_2353, x_2353 >= 0, x_11421 >= 0 encode_zero(z) -{ 34610 + 72*s235 + 10*s235*s236 + s235^2 + 4*s236 + 41591*x_11422 + 21318*x_11422^2 + 810*x_11422^3 + 41591*x_2354 + 21318*x_2354^2 + 810*x_2354^3 + 41591*x_3176 + 21318*x_3176^2 + 810*x_3176^3 }-> s238 :|: s234 >= 0, s234 <= x_11422 + 1, s235 >= 0, s235 <= x_2354 + 1, s236 >= 0, s236 <= x_3176 + 1, s237 >= 0, s237 <= s236, s238 >= 0, s238 <= 2, z = 1 + x_11422 + x_2354 + x_3176, x_3176 >= 0, x_11422 >= 0, x_2354 >= 0 encode_zero(z) -{ -9556 + 1385*z + 18888*z^2 + 810*z^3 }-> s314 :|: s312 >= 0, s312 <= z - 1 + 1, s313 >= 0, s313 <= s312, s314 >= 0, s314 <= 2, z - 1 >= 0 encode_zero(z) -{ 1 }-> 2 :|: z = 0, 0 = 0 encode_zero(z) -{ 1 }-> 2 :|: z >= 0, 0 = 0 encode_zero(z) -{ 1 }-> 1 :|: z = 2, x >= 0, 2 = 1 + x encode_zero(z) -{ 1 }-> 1 :|: z = 1, x >= 0, 1 = 1 + x encode_zero(z) -{ 0 }-> 0 :|: z >= 0 encode_zero(z) -{ 0 }-> 0 :|: z = 0, v0 >= 0, 0 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 2, v0 >= 0, 2 = v0 encode_zero(z) -{ 0 }-> 0 :|: z = 1, v0 >= 0, 1 = v0 encode_zero(z) -{ 0 }-> 0 :|: z >= 0, v0 >= 0, 0 = v0 half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s10 :|: s10 >= 0, s10 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 329 + 15*z'' }-> s30 :|: s30 >= 0, s30 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 329 + 15*z'' }-> s31 :|: s31 >= 0, s31 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 767 + 444*s11 + 20*s11*z'' + 6*s11^2 + z' + 35*z'' }-> s32 :|: s32 >= 0, s32 <= z'', s11 >= 0, s11 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 328 + 15*z'' }-> s33 :|: s33 >= 0, s33 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> 0 :|: z = 2, z' >= 0, z'' >= 0, z'' = 0 if(z, z', z'') -{ 1 }-> 0 :|: z = 2, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> z'' - 1 :|: z = 2, z' >= 0, z'' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s :|: s >= 0, s <= z - 1, z - 1 >= 0 p(z) -{ 1 }-> 0 :|: z = 0 p(z) -{ 0 }-> 0 :|: z >= 0 p(z) -{ 1 }-> z - 1 :|: z - 1 >= 0 zero(z) -{ 1 }-> 2 :|: z = 0 zero(z) -{ 1 }-> 1 :|: z - 1 >= 0 zero(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] zero: runtime: O(1) [1], size: O(1) [2] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] p: runtime: O(1) [1], size: O(n^1) [z] if: runtime: O(n^2) [34 + 72*z' + 10*z'*z'' + z'^2 + 4*z''], size: O(n^1) [z''] bitIter: runtime: O(n^2) [327 + 432*z + 20*z*z' + 6*z^2 + 15*z'], size: O(n^1) [z'] bits: runtime: O(n^2) [328 + 432*z + 6*z^2], size: O(1) [0] encArg: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [1 + z] encode_p: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_zero: runtime: O(n^3) [58552 + 217296*z + 219961*z^2 + 8910*z^3], size: O(1) [2] encode_if: runtime: O(n^3) [34696 + 41591*z + 21318*z^2 + 810*z^3 + 41675*z' + 10*z'*z'' + 21319*z'^2 + 810*z'^3 + 41605*z'' + 21318*z''^2 + 810*z''^3], size: O(n^1) [1 + z''] encode_bitIter: runtime: O(n^3) [23850 + 42055*z + 20*z*z' + 21324*z^2 + 810*z^3 + 41626*z' + 21318*z'^2 + 810*z'^3], size: O(n^1) [1 + z'] encode_bits: runtime: O(n^3) [61840 + 219900*z + 219997*z^2 + 8910*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [58555 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_half: runtime: O(n^3) [58561 + 217302*z + 219961*z^2 + 8910*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [11525 + 41591*z + 21318*z^2 + 810*z^3], size: O(n^1) [2 + z] ---------------------------------------- (129) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (130) BOUNDS(1, n^3) ---------------------------------------- (131) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (132) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: half(0') -> 0' half(s(0')) -> 0' half(s(s(x))) -> s(half(x)) inc(0') -> 0' inc(s(x)) -> s(inc(x)) zero(0') -> true zero(s(x)) -> false p(0') -> 0' p(s(x)) -> x bits(x) -> bitIter(x, 0') bitIter(x, y) -> if(zero(x), x, inc(y)) if(true, x, y) -> p(y) if(false, x, y) -> bitIter(half(x), y) The (relative) TRS S consists of the following rules: encArg(0') -> 0' encArg(s(x_1)) -> s(encArg(x_1)) encArg(true) -> true encArg(false) -> false encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_zero(x_1)) -> zero(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_bits(x_1)) -> bits(encArg(x_1)) encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_half(x_1) -> half(encArg(x_1)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_inc(x_1) -> inc(encArg(x_1)) encode_zero(x_1) -> zero(encArg(x_1)) encode_true -> true encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_bits(x_1) -> bits(encArg(x_1)) encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Rewrite Strategy: INNERMOST ---------------------------------------- (133) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (134) Obligation: Innermost TRS: Rules: half(0') -> 0' half(s(0')) -> 0' half(s(s(x))) -> s(half(x)) inc(0') -> 0' inc(s(x)) -> s(inc(x)) zero(0') -> true zero(s(x)) -> false p(0') -> 0' p(s(x)) -> x bits(x) -> bitIter(x, 0') bitIter(x, y) -> if(zero(x), x, inc(y)) if(true, x, y) -> p(y) if(false, x, y) -> bitIter(half(x), y) encArg(0') -> 0' encArg(s(x_1)) -> s(encArg(x_1)) encArg(true) -> true encArg(false) -> false encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_zero(x_1)) -> zero(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_bits(x_1)) -> bits(encArg(x_1)) encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_half(x_1) -> half(encArg(x_1)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_inc(x_1) -> inc(encArg(x_1)) encode_zero(x_1) -> zero(encArg(x_1)) encode_true -> true encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_bits(x_1) -> bits(encArg(x_1)) encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Types: half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if 0' :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if s :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if true :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if false :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encArg :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_0 :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_s :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_true :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_false :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if hole_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if1_4 :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4 :: Nat -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if ---------------------------------------- (135) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: half, inc, bitIter, if, encArg They will be analysed ascendingly in the following order: half < if half < encArg inc < bitIter inc < encArg bitIter = if bitIter < encArg if < encArg ---------------------------------------- (136) Obligation: Innermost TRS: Rules: half(0') -> 0' half(s(0')) -> 0' half(s(s(x))) -> s(half(x)) inc(0') -> 0' inc(s(x)) -> s(inc(x)) zero(0') -> true zero(s(x)) -> false p(0') -> 0' p(s(x)) -> x bits(x) -> bitIter(x, 0') bitIter(x, y) -> if(zero(x), x, inc(y)) if(true, x, y) -> p(y) if(false, x, y) -> bitIter(half(x), y) encArg(0') -> 0' encArg(s(x_1)) -> s(encArg(x_1)) encArg(true) -> true encArg(false) -> false encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_zero(x_1)) -> zero(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_bits(x_1)) -> bits(encArg(x_1)) encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_half(x_1) -> half(encArg(x_1)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_inc(x_1) -> inc(encArg(x_1)) encode_zero(x_1) -> zero(encArg(x_1)) encode_true -> true encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_bits(x_1) -> bits(encArg(x_1)) encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Types: half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if 0' :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if s :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if true :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if false :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encArg :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_0 :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_s :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_true :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_false :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if hole_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if1_4 :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4 :: Nat -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if Generator Equations: gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(0) <=> 0' gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(+(x, 1)) <=> s(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(x)) The following defined symbols remain to be analysed: half, inc, bitIter, if, encArg They will be analysed ascendingly in the following order: half < if half < encArg inc < bitIter inc < encArg bitIter = if bitIter < encArg if < encArg ---------------------------------------- (137) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: half(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(*(2, n4_4))) -> gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n4_4), rt in Omega(1 + n4_4) Induction Base: half(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(*(2, 0))) ->_R^Omega(1) 0' Induction Step: half(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(*(2, +(n4_4, 1)))) ->_R^Omega(1) s(half(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(*(2, n4_4)))) ->_IH s(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(c5_4)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (138) Complex Obligation (BEST) ---------------------------------------- (139) Obligation: Proved the lower bound n^1 for the following obligation: Innermost TRS: Rules: half(0') -> 0' half(s(0')) -> 0' half(s(s(x))) -> s(half(x)) inc(0') -> 0' inc(s(x)) -> s(inc(x)) zero(0') -> true zero(s(x)) -> false p(0') -> 0' p(s(x)) -> x bits(x) -> bitIter(x, 0') bitIter(x, y) -> if(zero(x), x, inc(y)) if(true, x, y) -> p(y) if(false, x, y) -> bitIter(half(x), y) encArg(0') -> 0' encArg(s(x_1)) -> s(encArg(x_1)) encArg(true) -> true encArg(false) -> false encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_zero(x_1)) -> zero(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_bits(x_1)) -> bits(encArg(x_1)) encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_half(x_1) -> half(encArg(x_1)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_inc(x_1) -> inc(encArg(x_1)) encode_zero(x_1) -> zero(encArg(x_1)) encode_true -> true encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_bits(x_1) -> bits(encArg(x_1)) encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Types: half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if 0' :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if s :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if true :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if false :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encArg :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_0 :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_s :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_true :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_false :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if hole_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if1_4 :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4 :: Nat -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if Generator Equations: gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(0) <=> 0' gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(+(x, 1)) <=> s(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(x)) The following defined symbols remain to be analysed: half, inc, bitIter, if, encArg They will be analysed ascendingly in the following order: half < if half < encArg inc < bitIter inc < encArg bitIter = if bitIter < encArg if < encArg ---------------------------------------- (140) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (141) BOUNDS(n^1, INF) ---------------------------------------- (142) Obligation: Innermost TRS: Rules: half(0') -> 0' half(s(0')) -> 0' half(s(s(x))) -> s(half(x)) inc(0') -> 0' inc(s(x)) -> s(inc(x)) zero(0') -> true zero(s(x)) -> false p(0') -> 0' p(s(x)) -> x bits(x) -> bitIter(x, 0') bitIter(x, y) -> if(zero(x), x, inc(y)) if(true, x, y) -> p(y) if(false, x, y) -> bitIter(half(x), y) encArg(0') -> 0' encArg(s(x_1)) -> s(encArg(x_1)) encArg(true) -> true encArg(false) -> false encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_zero(x_1)) -> zero(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_bits(x_1)) -> bits(encArg(x_1)) encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_half(x_1) -> half(encArg(x_1)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_inc(x_1) -> inc(encArg(x_1)) encode_zero(x_1) -> zero(encArg(x_1)) encode_true -> true encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_bits(x_1) -> bits(encArg(x_1)) encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Types: half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if 0' :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if s :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if true :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if false :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encArg :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_0 :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_s :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_true :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_false :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if hole_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if1_4 :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4 :: Nat -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if Lemmas: half(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(*(2, n4_4))) -> gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n4_4), rt in Omega(1 + n4_4) Generator Equations: gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(0) <=> 0' gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(+(x, 1)) <=> s(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(x)) The following defined symbols remain to be analysed: inc, bitIter, if, encArg They will be analysed ascendingly in the following order: inc < bitIter inc < encArg bitIter = if bitIter < encArg if < encArg ---------------------------------------- (143) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: inc(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n538_4)) -> gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n538_4), rt in Omega(1 + n538_4) Induction Base: inc(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(0)) ->_R^Omega(1) 0' Induction Step: inc(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(+(n538_4, 1))) ->_R^Omega(1) s(inc(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n538_4))) ->_IH s(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(c539_4)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (144) Obligation: Innermost TRS: Rules: half(0') -> 0' half(s(0')) -> 0' half(s(s(x))) -> s(half(x)) inc(0') -> 0' inc(s(x)) -> s(inc(x)) zero(0') -> true zero(s(x)) -> false p(0') -> 0' p(s(x)) -> x bits(x) -> bitIter(x, 0') bitIter(x, y) -> if(zero(x), x, inc(y)) if(true, x, y) -> p(y) if(false, x, y) -> bitIter(half(x), y) encArg(0') -> 0' encArg(s(x_1)) -> s(encArg(x_1)) encArg(true) -> true encArg(false) -> false encArg(cons_half(x_1)) -> half(encArg(x_1)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_zero(x_1)) -> zero(encArg(x_1)) encArg(cons_p(x_1)) -> p(encArg(x_1)) encArg(cons_bits(x_1)) -> bits(encArg(x_1)) encArg(cons_bitIter(x_1, x_2)) -> bitIter(encArg(x_1), encArg(x_2)) encArg(cons_if(x_1, x_2, x_3)) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) encode_half(x_1) -> half(encArg(x_1)) encode_0 -> 0' encode_s(x_1) -> s(encArg(x_1)) encode_inc(x_1) -> inc(encArg(x_1)) encode_zero(x_1) -> zero(encArg(x_1)) encode_true -> true encode_false -> false encode_p(x_1) -> p(encArg(x_1)) encode_bits(x_1) -> bits(encArg(x_1)) encode_bitIter(x_1, x_2) -> bitIter(encArg(x_1), encArg(x_2)) encode_if(x_1, x_2, x_3) -> if(encArg(x_1), encArg(x_2), encArg(x_3)) Types: half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if 0' :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if s :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if true :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if false :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encArg :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if cons_if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_half :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_0 :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_s :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_inc :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_zero :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_true :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_false :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_p :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bits :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_bitIter :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if encode_if :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if hole_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if1_4 :: 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4 :: Nat -> 0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if Lemmas: half(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(*(2, n4_4))) -> gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n4_4), rt in Omega(1 + n4_4) inc(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n538_4)) -> gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n538_4), rt in Omega(1 + n538_4) Generator Equations: gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(0) <=> 0' gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(+(x, 1)) <=> s(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(x)) The following defined symbols remain to be analysed: if, bitIter, encArg They will be analysed ascendingly in the following order: bitIter = if bitIter < encArg if < encArg ---------------------------------------- (145) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: encArg(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n1746_4)) -> gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n1746_4), rt in Omega(0) Induction Base: encArg(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(0)) ->_R^Omega(0) 0' Induction Step: encArg(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(+(n1746_4, 1))) ->_R^Omega(0) s(encArg(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(n1746_4))) ->_IH s(gen_0':s:true:false:cons_half:cons_inc:cons_zero:cons_p:cons_bits:cons_bitIter:cons_if2_4(c1747_4)) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (146) BOUNDS(1, INF)