/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), 296 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), 3868 ms] (12) CpxTypedWeightedCompleteTrs (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 11 ms] (14) CpxRNTS (15) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CpxRNTS (17) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (18) CpxRNTS (19) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (20) CpxRNTS (21) IntTrsBoundProof [UPPER BOUND(ID), 85 ms] (22) CpxRNTS (23) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (24) CpxRNTS (25) ResultPropagationProof [UPPER BOUND(ID), 4 ms] (26) CpxRNTS (27) IntTrsBoundProof [UPPER BOUND(ID), 430 ms] (28) CpxRNTS (29) IntTrsBoundProof [UPPER BOUND(ID), 156 ms] (30) CpxRNTS (31) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (32) CpxRNTS (33) IntTrsBoundProof [UPPER BOUND(ID), 96 ms] (34) CpxRNTS (35) IntTrsBoundProof [UPPER BOUND(ID), 3 ms] (36) CpxRNTS (37) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (38) CpxRNTS (39) IntTrsBoundProof [UPPER BOUND(ID), 189 ms] (40) CpxRNTS (41) IntTrsBoundProof [UPPER BOUND(ID), 72 ms] (42) CpxRNTS (43) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (44) CpxRNTS (45) IntTrsBoundProof [UPPER BOUND(ID), 86 ms] (46) CpxRNTS (47) IntTrsBoundProof [UPPER BOUND(ID), 32 ms] (48) CpxRNTS (49) ResultPropagationProof [UPPER BOUND(ID), 2 ms] (50) CpxRNTS (51) IntTrsBoundProof [UPPER BOUND(ID), 261 ms] (52) CpxRNTS (53) IntTrsBoundProof [UPPER BOUND(ID), 94 ms] (54) CpxRNTS (55) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (56) CpxRNTS (57) IntTrsBoundProof [UPPER BOUND(ID), 1952 ms] (58) CpxRNTS (59) IntTrsBoundProof [UPPER BOUND(ID), 2350 ms] (60) CpxRNTS (61) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (62) CpxRNTS (63) IntTrsBoundProof [UPPER BOUND(ID), 106 ms] (64) CpxRNTS (65) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (66) CpxRNTS (67) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (68) CpxRNTS (69) IntTrsBoundProof [UPPER BOUND(ID), 2089 ms] (70) CpxRNTS (71) IntTrsBoundProof [UPPER BOUND(ID), 1607 ms] (72) CpxRNTS (73) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (74) CpxRNTS (75) IntTrsBoundProof [UPPER BOUND(ID), 239 ms] (76) CpxRNTS (77) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (78) CpxRNTS (79) ResultPropagationProof [UPPER BOUND(ID), 1 ms] (80) CpxRNTS (81) IntTrsBoundProof [UPPER BOUND(ID), 178 ms] (82) CpxRNTS (83) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (84) CpxRNTS (85) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (86) CpxRNTS (87) IntTrsBoundProof [UPPER BOUND(ID), 565 ms] (88) CpxRNTS (89) IntTrsBoundProof [UPPER BOUND(ID), 248 ms] (90) CpxRNTS (91) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (92) CpxRNTS (93) IntTrsBoundProof [UPPER BOUND(ID), 496 ms] (94) CpxRNTS (95) IntTrsBoundProof [UPPER BOUND(ID), 218 ms] (96) CpxRNTS (97) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (98) CpxRNTS (99) IntTrsBoundProof [UPPER BOUND(ID), 208 ms] (100) CpxRNTS (101) IntTrsBoundProof [UPPER BOUND(ID), 2 ms] (102) CpxRNTS (103) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (104) CpxRNTS (105) IntTrsBoundProof [UPPER BOUND(ID), 505 ms] (106) CpxRNTS (107) IntTrsBoundProof [UPPER BOUND(ID), 207 ms] (108) CpxRNTS (109) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (110) CpxRNTS (111) IntTrsBoundProof [UPPER BOUND(ID), 117 ms] (112) CpxRNTS (113) IntTrsBoundProof [UPPER BOUND(ID), 0 ms] (114) CpxRNTS (115) FinalProof [FINISHED, 0 ms] (116) BOUNDS(1, n^3) (117) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 3 ms] (118) TRS for Loop Detection (119) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] (120) BEST (121) proven lower bound (122) LowerBoundPropagationProof [FINISHED, 0 ms] (123) BOUNDS(n^1, INF) (124) TRS for Loop Detection ---------------------------------------- (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)) le(0, y) -> true le(s(x), 0) -> false le(s(x), s(y)) -> le(x, y) inc(0) -> 0 inc(s(x)) -> s(inc(x)) log(x) -> log2(x, 0) log2(x, y) -> if(le(x, s(0)), x, inc(y)) if(true, x, s(y)) -> y if(false, x, y) -> log2(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_le(x_1, x_2)) -> le(encArg(x_1), encArg(x_2)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encArg(cons_log2(x_1, x_2)) -> log2(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_le(x_1, x_2) -> le(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_inc(x_1) -> inc(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) encode_log2(x_1, x_2) -> log2(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)) le(0, y) -> true le(s(x), 0) -> false le(s(x), s(y)) -> le(x, y) inc(0) -> 0 inc(s(x)) -> s(inc(x)) log(x) -> log2(x, 0) log2(x, y) -> if(le(x, s(0)), x, inc(y)) if(true, x, s(y)) -> y if(false, x, y) -> log2(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_le(x_1, x_2)) -> le(encArg(x_1), encArg(x_2)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encArg(cons_log2(x_1, x_2)) -> log2(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_le(x_1, x_2) -> le(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_inc(x_1) -> inc(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) encode_log2(x_1, x_2) -> log2(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)) le(0, y) -> true le(s(x), 0) -> false le(s(x), s(y)) -> le(x, y) inc(0) -> 0 inc(s(x)) -> s(inc(x)) log(x) -> log2(x, 0) log2(x, y) -> if(le(x, s(0)), x, inc(y)) if(true, x, s(y)) -> y if(false, x, y) -> log2(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_le(x_1, x_2)) -> le(encArg(x_1), encArg(x_2)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encArg(cons_log2(x_1, x_2)) -> log2(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_le(x_1, x_2) -> le(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_inc(x_1) -> inc(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) encode_log2(x_1, x_2) -> log2(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] le(0, y) -> true [1] le(s(x), 0) -> false [1] le(s(x), s(y)) -> le(x, y) [1] inc(0) -> 0 [1] inc(s(x)) -> s(inc(x)) [1] log(x) -> log2(x, 0) [1] log2(x, y) -> if(le(x, s(0)), x, inc(y)) [1] if(true, x, s(y)) -> y [1] if(false, x, y) -> log2(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_le(x_1, x_2)) -> le(encArg(x_1), encArg(x_2)) [0] encArg(cons_inc(x_1)) -> inc(encArg(x_1)) [0] encArg(cons_log(x_1)) -> log(encArg(x_1)) [0] encArg(cons_log2(x_1, x_2)) -> log2(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_le(x_1, x_2) -> le(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_inc(x_1) -> inc(encArg(x_1)) [0] encode_log(x_1) -> log(encArg(x_1)) [0] encode_log2(x_1, x_2) -> log2(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] le(0, y) -> true [1] le(s(x), 0) -> false [1] le(s(x), s(y)) -> le(x, y) [1] inc(0) -> 0 [1] inc(s(x)) -> s(inc(x)) [1] log(x) -> log2(x, 0) [1] log2(x, y) -> if(le(x, s(0)), x, inc(y)) [1] if(true, x, s(y)) -> y [1] if(false, x, y) -> log2(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_le(x_1, x_2)) -> le(encArg(x_1), encArg(x_2)) [0] encArg(cons_inc(x_1)) -> inc(encArg(x_1)) [0] encArg(cons_log(x_1)) -> log(encArg(x_1)) [0] encArg(cons_log2(x_1, x_2)) -> log2(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_le(x_1, x_2) -> le(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_inc(x_1) -> inc(encArg(x_1)) [0] encode_log(x_1) -> log(encArg(x_1)) [0] encode_log2(x_1, x_2) -> log2(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_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if 0 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if s :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if true :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if false :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encArg :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if cons_half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if cons_le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if cons_inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if cons_log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if cons_log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if cons_if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encode_half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encode_0 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encode_s :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encode_le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encode_true :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encode_false :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encode_inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encode_log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encode_log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if encode_if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2: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: half_1 le_2 inc_1 log_1 log2_2 if_3 encArg_1 encode_half_1 encode_0 encode_s_1 encode_le_2 encode_true encode_false encode_inc_1 encode_log_1 encode_log2_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_le(v0, v1) -> null_encode_le [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_inc(v0) -> null_encode_inc [0] encode_log(v0) -> null_encode_log [0] encode_log2(v0, v1) -> null_encode_log2 [0] encode_if(v0, v1, v2) -> null_encode_if [0] half(v0) -> null_half [0] le(v0, v1) -> null_le [0] inc(v0) -> null_inc [0] if(v0, v1, v2) -> null_if [0] And the following fresh constants: null_encArg, null_encode_half, null_encode_0, null_encode_s, null_encode_le, null_encode_true, null_encode_false, null_encode_inc, null_encode_log, null_encode_log2, null_encode_if, null_half, null_le, null_inc, null_if ---------------------------------------- (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] le(0, y) -> true [1] le(s(x), 0) -> false [1] le(s(x), s(y)) -> le(x, y) [1] inc(0) -> 0 [1] inc(s(x)) -> s(inc(x)) [1] log(x) -> log2(x, 0) [1] log2(x, y) -> if(le(x, s(0)), x, inc(y)) [1] if(true, x, s(y)) -> y [1] if(false, x, y) -> log2(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_le(x_1, x_2)) -> le(encArg(x_1), encArg(x_2)) [0] encArg(cons_inc(x_1)) -> inc(encArg(x_1)) [0] encArg(cons_log(x_1)) -> log(encArg(x_1)) [0] encArg(cons_log2(x_1, x_2)) -> log2(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_le(x_1, x_2) -> le(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_inc(x_1) -> inc(encArg(x_1)) [0] encode_log(x_1) -> log(encArg(x_1)) [0] encode_log2(x_1, x_2) -> log2(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_le(v0, v1) -> null_encode_le [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_inc(v0) -> null_encode_inc [0] encode_log(v0) -> null_encode_log [0] encode_log2(v0, v1) -> null_encode_log2 [0] encode_if(v0, v1, v2) -> null_encode_if [0] half(v0) -> null_half [0] le(v0, v1) -> null_le [0] inc(v0) -> null_inc [0] if(v0, v1, v2) -> null_if [0] The TRS has the following type information: half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if 0 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if s :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if true :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if false :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encArg :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_0 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_s :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_true :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_false :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encArg :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_0 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_s :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_true :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_false :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if 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] le(0, y) -> true [1] le(s(x), 0) -> false [1] le(s(x), s(y)) -> le(x, y) [1] inc(0) -> 0 [1] inc(s(x)) -> s(inc(x)) [1] log(x) -> log2(x, 0) [1] log2(0, 0) -> if(true, 0, 0) [3] log2(0, s(x'')) -> if(true, 0, s(inc(x''))) [3] log2(0, y) -> if(true, 0, null_inc) [2] log2(s(x'), 0) -> if(le(x', 0), s(x'), 0) [3] log2(s(x'), s(x1)) -> if(le(x', 0), s(x'), s(inc(x1))) [3] log2(s(x'), y) -> if(le(x', 0), s(x'), null_inc) [2] log2(x, 0) -> if(null_le, x, 0) [2] log2(x, s(x2)) -> if(null_le, x, s(inc(x2))) [2] log2(x, y) -> if(null_le, x, null_inc) [1] if(true, x, s(y)) -> y [1] if(false, 0, y) -> log2(0, y) [2] if(false, s(0), y) -> log2(0, y) [2] if(false, s(s(x3)), y) -> log2(s(half(x3)), y) [2] if(false, x, y) -> log2(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_le(x_11, x_2'))) -> half(le(encArg(x_11), encArg(x_2'))) [0] encArg(cons_half(cons_inc(x_12))) -> half(inc(encArg(x_12))) [0] encArg(cons_half(cons_log(x_13))) -> half(log(encArg(x_13))) [0] encArg(cons_half(cons_log2(x_14, x_2''))) -> half(log2(encArg(x_14), encArg(x_2''))) [0] encArg(cons_half(cons_if(x_15, x_21, x_3'))) -> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) [0] encArg(cons_half(x_1)) -> half(null_encArg) [0] encArg(cons_le(x_1, x_2)) -> le(encArg(x_1), encArg(x_2)) [0] encArg(cons_inc(0)) -> inc(0) [0] encArg(cons_inc(s(x_190))) -> inc(s(encArg(x_190))) [0] encArg(cons_inc(true)) -> inc(true) [0] encArg(cons_inc(false)) -> inc(false) [0] encArg(cons_inc(cons_half(x_191))) -> inc(half(encArg(x_191))) [0] encArg(cons_inc(cons_le(x_192, x_238))) -> inc(le(encArg(x_192), encArg(x_238))) [0] encArg(cons_inc(cons_inc(x_193))) -> inc(inc(encArg(x_193))) [0] encArg(cons_inc(cons_log(x_194))) -> inc(log(encArg(x_194))) [0] encArg(cons_inc(cons_log2(x_195, x_239))) -> inc(log2(encArg(x_195), encArg(x_239))) [0] encArg(cons_inc(cons_if(x_196, x_240, x_312))) -> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) [0] encArg(cons_inc(x_1)) -> inc(null_encArg) [0] encArg(cons_log(0)) -> log(0) [0] encArg(cons_log(s(x_197))) -> log(s(encArg(x_197))) [0] encArg(cons_log(true)) -> log(true) [0] encArg(cons_log(false)) -> log(false) [0] encArg(cons_log(cons_half(x_198))) -> log(half(encArg(x_198))) [0] encArg(cons_log(cons_le(x_199, x_241))) -> log(le(encArg(x_199), encArg(x_241))) [0] encArg(cons_log(cons_inc(x_1100))) -> log(inc(encArg(x_1100))) [0] encArg(cons_log(cons_log(x_1101))) -> log(log(encArg(x_1101))) [0] encArg(cons_log(cons_log2(x_1102, x_242))) -> log(log2(encArg(x_1102), encArg(x_242))) [0] encArg(cons_log(cons_if(x_1103, x_243, x_313))) -> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) [0] encArg(cons_log(x_1)) -> log(null_encArg) [0] encArg(cons_log2(x_1, x_2)) -> log2(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_11119)) -> half(s(encArg(x_11119))) [0] encode_half(true) -> half(true) [0] encode_half(false) -> half(false) [0] encode_half(cons_half(x_11120)) -> half(half(encArg(x_11120))) [0] encode_half(cons_le(x_11121, x_2479)) -> half(le(encArg(x_11121), encArg(x_2479))) [0] encode_half(cons_inc(x_11122)) -> half(inc(encArg(x_11122))) [0] encode_half(cons_log(x_11123)) -> half(log(encArg(x_11123))) [0] encode_half(cons_log2(x_11124, x_2480)) -> half(log2(encArg(x_11124), encArg(x_2480))) [0] encode_half(cons_if(x_11125, x_2481, x_3159)) -> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) [0] encode_half(x_1) -> half(null_encArg) [0] encode_0 -> 0 [0] encode_s(x_1) -> s(encArg(x_1)) [0] encode_le(x_1, x_2) -> le(encArg(x_1), encArg(x_2)) [0] encode_true -> true [0] encode_false -> false [0] encode_inc(0) -> inc(0) [0] encode_inc(s(x_11210)) -> inc(s(encArg(x_11210))) [0] encode_inc(true) -> inc(true) [0] encode_inc(false) -> inc(false) [0] encode_inc(cons_half(x_11211)) -> inc(half(encArg(x_11211))) [0] encode_inc(cons_le(x_11212, x_2518)) -> inc(le(encArg(x_11212), encArg(x_2518))) [0] encode_inc(cons_inc(x_11213)) -> inc(inc(encArg(x_11213))) [0] encode_inc(cons_log(x_11214)) -> inc(log(encArg(x_11214))) [0] encode_inc(cons_log2(x_11215, x_2519)) -> inc(log2(encArg(x_11215), encArg(x_2519))) [0] encode_inc(cons_if(x_11216, x_2520, x_3172)) -> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) [0] encode_inc(x_1) -> inc(null_encArg) [0] encode_log(0) -> log(0) [0] encode_log(s(x_11217)) -> log(s(encArg(x_11217))) [0] encode_log(true) -> log(true) [0] encode_log(false) -> log(false) [0] encode_log(cons_half(x_11218)) -> log(half(encArg(x_11218))) [0] encode_log(cons_le(x_11219, x_2521)) -> log(le(encArg(x_11219), encArg(x_2521))) [0] encode_log(cons_inc(x_11220)) -> log(inc(encArg(x_11220))) [0] encode_log(cons_log(x_11221)) -> log(log(encArg(x_11221))) [0] encode_log(cons_log2(x_11222, x_2522)) -> log(log2(encArg(x_11222), encArg(x_2522))) [0] encode_log(cons_if(x_11223, x_2523, x_3173)) -> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) [0] encode_log(x_1) -> log(null_encArg) [0] encode_log2(x_1, x_2) -> log2(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_le(v0, v1) -> null_encode_le [0] encode_true -> null_encode_true [0] encode_false -> null_encode_false [0] encode_inc(v0) -> null_encode_inc [0] encode_log(v0) -> null_encode_log [0] encode_log2(v0, v1) -> null_encode_log2 [0] encode_if(v0, v1, v2) -> null_encode_if [0] half(v0) -> null_half [0] le(v0, v1) -> null_le [0] inc(v0) -> null_inc [0] if(v0, v1, v2) -> null_if [0] The TRS has the following type information: half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if 0 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if s :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if true :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if false :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encArg :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if cons_if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_0 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_s :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_true :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_false :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if encode_if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if -> 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encArg :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_0 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_s :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_true :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_false :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_log :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_log2 :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_encode_if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_half :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_le :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_inc :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if null_if :: 0:s:true:false:cons_half:cons_le:cons_inc:cons_log:cons_log2:cons_if:null_encArg:null_encode_half:null_encode_0:null_encode_s:null_encode_le:null_encode_true:null_encode_false:null_encode_inc:null_encode_log:null_encode_log2:null_encode_if:null_half:null_le:null_inc:null_if 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_le => 0 null_encode_true => 0 null_encode_false => 0 null_encode_inc => 0 null_encode_log => 0 null_encode_log2 => 0 null_encode_if => 0 null_half => 0 null_le => 0 null_inc => 0 null_if => 0 ---------------------------------------- (14) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(x_1101))) :|: x_1101 >= 0, z = 1 + (1 + x_1101) encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(x_1100))) :|: x_1100 >= 0, z = 1 + (1 + x_1100) encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(x_198))) :|: x_198 >= 0, z = 1 + (1 + x_198) encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z = 1 + x_1, x_1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(x_197)) :|: x_197 >= 0, z = 1 + (1 + x_197) encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(x_194))) :|: x_194 >= 0, z = 1 + (1 + x_194) encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(x_193))) :|: x_193 >= 0, z = 1 + (1 + x_193) encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(x_191))) :|: z = 1 + (1 + x_191), x_191 >= 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_190)) :|: z = 1 + (1 + x_190), x_190 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(x_13))) :|: z = 1 + (1 + x_13), x_13 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(x_12))) :|: z = 1 + (1 + x_12), x_12 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(x_1''))) :|: z = 1 + (1 + x_1''), x_1'' >= 0 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 }-> 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_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(x_11123))) :|: z = 1 + x_11123, x_11123 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(x_11122))) :|: x_11122 >= 0, z = 1 + x_11122 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(x_11120))) :|: z = 1 + x_11120, x_11120 >= 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_11119)) :|: x_11119 >= 0, z = 1 + x_11119 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(x_11214))) :|: x_11214 >= 0, z = 1 + x_11214 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(x_11213))) :|: z = 1 + x_11213, x_11213 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(x_11211))) :|: x_11211 >= 0, z = 1 + x_11211 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_11210)) :|: z = 1 + x_11210, x_11210 >= 0 encode_inc(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_le(z, z') -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_le(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(x_11221))) :|: x_11221 >= 0, z = 1 + x_11221 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(x_11220))) :|: x_11220 >= 0, z = 1 + x_11220 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(x_11218))) :|: x_11218 >= 0, z = 1 + x_11218 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: x_1 >= 0, z = x_1 encode_log(z) -{ 0 }-> log(1 + encArg(x_11217)) :|: x_11217 >= 0, z = 1 + x_11217 encode_log(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 encode_log2(z, z') -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, x_2 >= 0, z = x_1, z' = x_2 encode_log2(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 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 :|: 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 }-> y :|: z = 2, z' = x, x >= 0, y >= 0, z'' = 1 + y if(z, z', z'') -{ 2 }-> log2(0, y) :|: z'' = y, z = 1, y >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, y) :|: z'' = y, z = 1, y >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, y) :|: z' = x, z'' = y, z = 1, x >= 0, y >= 0 if(z, z', z'') -{ 2 }-> log2(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 le(z, z') -{ 1 }-> le(x, y) :|: z' = 1 + y, x >= 0, y >= 0, z = 1 + x le(z, z') -{ 1 }-> 2 :|: y >= 0, z = 0, z' = y le(z, z') -{ 1 }-> 1 :|: x >= 0, z = 1 + x, z' = 0 le(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 log(z) -{ 1 }-> log2(x, 0) :|: x >= 0, z = x log2(z, z') -{ 3 }-> if(le(x', 0), 1 + x', 0) :|: z = 1 + x', x' >= 0, z' = 0 log2(z, z') -{ 2 }-> if(le(x', 0), 1 + x', 0) :|: z = 1 + x', x' >= 0, y >= 0, z' = y log2(z, z') -{ 3 }-> if(le(x', 0), 1 + x', 1 + inc(x1)) :|: z = 1 + x', x1 >= 0, x' >= 0, z' = 1 + x1 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: y >= 0, z = 0, z' = y log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(x'')) :|: z' = 1 + x'', x'' >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, x, 0) :|: x >= 0, z = x, z' = 0 log2(z, z') -{ 1 }-> if(0, x, 0) :|: x >= 0, y >= 0, z = x, z' = y log2(z, z') -{ 2 }-> if(0, x, 1 + inc(x2)) :|: z' = 1 + x2, x >= 0, z = x, x2 >= 0 ---------------------------------------- (15) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 1 }-> le(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 log2(z, z') -{ 2 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 ---------------------------------------- (17) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { encode_0 } { le } { encode_false } { inc } { encode_true } { half } { log2, if } { log } { encArg } { encode_if } { encode_log2 } { encode_log } { encode_inc } { encode_le } { encode_half } { encode_s } ---------------------------------------- (18) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 1 }-> le(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 log2(z, z') -{ 2 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {encode_0}, {le}, {encode_false}, {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} ---------------------------------------- (19) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 1 }-> le(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 log2(z, z') -{ 2 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {encode_0}, {le}, {encode_false}, {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} ---------------------------------------- (21) 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 ---------------------------------------- (22) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 1 }-> le(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 log2(z, z') -{ 2 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {encode_0}, {le}, {encode_false}, {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: ?, size: O(1) [0] ---------------------------------------- (23) 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 ---------------------------------------- (24) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 1 }-> le(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 log2(z, z') -{ 2 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {le}, {encode_false}, {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (25) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (26) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 1 }-> le(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 log2(z, z') -{ 2 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {le}, {encode_false}, {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] ---------------------------------------- (27) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: le after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (28) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 1 }-> le(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 log2(z, z') -{ 2 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {le}, {encode_false}, {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: ?, size: O(1) [2] ---------------------------------------- (29) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: le after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z' ---------------------------------------- (30) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 1 }-> le(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' = 0 log2(z, z') -{ 2 }-> if(le(z - 1, 0), 1 + (z - 1), 0) :|: z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(le(z - 1, 0), 1 + (z - 1), 1 + inc(z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {encode_false}, {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] ---------------------------------------- (31) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (32) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 }-> if(s'', 1 + (z - 1), 1 + inc(z' - 1)) :|: s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {encode_false}, {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] ---------------------------------------- (33) 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 ---------------------------------------- (34) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 }-> if(s'', 1 + (z - 1), 1 + inc(z' - 1)) :|: s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {encode_false}, {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: ?, size: O(1) [1] ---------------------------------------- (35) 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 ---------------------------------------- (36) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 }-> if(s'', 1 + (z - 1), 1 + inc(z' - 1)) :|: s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] ---------------------------------------- (37) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (38) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 }-> if(s'', 1 + (z - 1), 1 + inc(z' - 1)) :|: s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] ---------------------------------------- (39) 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 ---------------------------------------- (40) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 }-> if(s'', 1 + (z - 1), 1 + inc(z' - 1)) :|: s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {inc}, {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: ?, size: O(n^1) [z] ---------------------------------------- (41) 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 ---------------------------------------- (42) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 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_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, 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 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 }-> if(s'', 1 + (z - 1), 1 + inc(z' - 1)) :|: s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 }-> if(2, 0, 1 + inc(z' - 1)) :|: z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 }-> if(0, z, 1 + inc(z' - 1)) :|: z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] ---------------------------------------- (43) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (44) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 + z' }-> if(s'', 1 + (z - 1), 1 + s4) :|: s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 + z' }-> if(2, 0, 1 + s3) :|: s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 + z' }-> if(0, z, 1 + s5) :|: s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] ---------------------------------------- (45) 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 ---------------------------------------- (46) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 + z' }-> if(s'', 1 + (z - 1), 1 + s4) :|: s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 + z' }-> if(2, 0, 1 + s3) :|: s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 + z' }-> if(0, z, 1 + s5) :|: s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {encode_true}, {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: ?, size: O(1) [2] ---------------------------------------- (47) 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 ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 + z' }-> if(s'', 1 + (z - 1), 1 + s4) :|: s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 + z' }-> if(2, 0, 1 + s3) :|: s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 + z' }-> if(0, z, 1 + s5) :|: s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (49) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 + z' }-> if(s'', 1 + (z - 1), 1 + s4) :|: s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 + z' }-> if(2, 0, 1 + s3) :|: s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 + z' }-> if(0, z, 1 + s5) :|: s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (51) 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 ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 + z' }-> if(s'', 1 + (z - 1), 1 + s4) :|: s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 + z' }-> if(2, 0, 1 + s3) :|: s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 + z' }-> if(0, z, 1 + s5) :|: s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {half}, {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: ?, size: O(n^1) [z] ---------------------------------------- (53) 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 ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 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 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: 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 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 }-> log2(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'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 + z' }-> if(s'', 1 + (z - 1), 1 + s4) :|: s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 + z' }-> if(2, 0, 1 + s3) :|: s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 + z' }-> if(0, z, 1 + s5) :|: s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] ---------------------------------------- (55) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 + z' }-> log2(1 + s15, z'') :|: s15 >= 0, s15 <= 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'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 + z' }-> if(s'', 1 + (z - 1), 1 + s4) :|: s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 + z' }-> if(2, 0, 1 + s3) :|: s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 + z' }-> if(0, z, 1 + s5) :|: s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] ---------------------------------------- (57) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: log2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' Computed SIZE bound using KoAT for: if after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z'' ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 + z' }-> log2(1 + s15, z'') :|: s15 >= 0, s15 <= 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'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 + z' }-> if(s'', 1 + (z - 1), 1 + s4) :|: s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 + z' }-> if(2, 0, 1 + s3) :|: s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 + z' }-> if(0, z, 1 + s5) :|: s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {log2,if}, {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: ?, size: O(n^1) [z'] if: runtime: ?, size: O(n^1) [z''] ---------------------------------------- (59) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: log2 after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 70 + 78*z + 10*z*z' + z^2 + 9*z' Computed RUNTIME bound using KoAT for: if after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 216 + 77*z' + 10*z'*z'' + z'^2 + 27*z'' ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 2 }-> log2(0, z'') :|: z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 1 }-> log2(0, z'') :|: z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 2 + z' }-> log2(1 + s15, z'') :|: s15 >= 0, s15 <= 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'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 1 }-> log2(z, 0) :|: z >= 0 log2(z, z') -{ 5 }-> if(s', 1 + (z - 1), 0) :|: s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 5 + z' }-> if(s'', 1 + (z - 1), 1 + s4) :|: s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 4 }-> if(s1, 1 + (z - 1), 0) :|: s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 3 }-> if(2, 0, 0) :|: z = 0, z' = 0 log2(z, z') -{ 2 }-> if(2, 0, 0) :|: z' >= 0, z = 0 log2(z, z') -{ 3 + z' }-> if(2, 0, 1 + s3) :|: s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 2 }-> if(0, z, 0) :|: z >= 0, z' = 0 log2(z, z') -{ 1 }-> if(0, z, 0) :|: z >= 0, z' >= 0 log2(z, z') -{ 2 + z' }-> if(0, z, 1 + s5) :|: s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 Function symbols to be analyzed: {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] ---------------------------------------- (61) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] ---------------------------------------- (63) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: log after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (64) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {log}, {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: ?, size: O(1) [0] ---------------------------------------- (65) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: log after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 71 + 78*z + z^2 ---------------------------------------- (66) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(2) :|: z = 1 + 2 encArg(z) -{ 0 }-> log(1) :|: z = 1 + 1 encArg(z) -{ 0 }-> log(0) :|: z = 1 + 0 encArg(z) -{ 0 }-> log(0) :|: z - 1 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(2) :|: z = 2 encode_log(z) -{ 0 }-> log(1) :|: z = 1 encode_log(z) -{ 0 }-> log(0) :|: z = 0 encode_log(z) -{ 0 }-> log(0) :|: z >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] ---------------------------------------- (67) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (68) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] ---------------------------------------- (69) 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 ---------------------------------------- (70) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encArg}, {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (71) 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: 3239 + 11293*z + 4824*z^2 + 288*z^3 ---------------------------------------- (72) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 0 }-> log2(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> log(log2(encArg(x_1102), encArg(x_242))) :|: x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 0 }-> log(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(le(encArg(x_199), encArg(x_241))) :|: z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ 0 }-> log(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(if(encArg(x_1103), encArg(x_243), encArg(x_313))) :|: z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 0 }-> log(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> log(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> le(encArg(x_1), encArg(x_2)) :|: x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 0 }-> inc(log2(encArg(x_195), encArg(x_239))) :|: z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 0 }-> inc(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(le(encArg(x_192), encArg(x_238))) :|: z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ 0 }-> inc(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> inc(if(encArg(x_196), encArg(x_240), encArg(x_312))) :|: x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ 0 }-> inc(half(encArg(z - 2))) :|: z - 2 >= 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(log2(encArg(x_14), encArg(x_2''))) :|: x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 0 }-> half(log(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(le(encArg(x_11), encArg(x_2'))) :|: x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ 0 }-> half(inc(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(if(encArg(x_15), encArg(x_21), encArg(x_3'))) :|: x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 0 }-> half(half(encArg(z - 2))) :|: z - 2 >= 0 encArg(z) -{ 0 }-> half(1 + encArg(z - 2)) :|: z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ 0 }-> 1 + encArg(z - 1) :|: z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> half(log2(encArg(x_11124), encArg(x_2480))) :|: x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 0 }-> half(log(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(le(encArg(x_11121), encArg(x_2479))) :|: z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ 0 }-> half(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_half(z) -{ 0 }-> half(if(encArg(x_11125), encArg(x_2481), encArg(x_3159))) :|: x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 0 }-> half(half(encArg(z - 1))) :|: z - 1 >= 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 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ 0 }-> inc(log2(encArg(x_11215), encArg(x_2519))) :|: x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 0 }-> inc(log(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(le(encArg(x_11212), encArg(x_2518))) :|: x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ 0 }-> inc(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(if(encArg(x_11216), encArg(x_2520), encArg(x_3172))) :|: x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> inc(half(encArg(z - 1))) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> inc(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 0 }-> le(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> log(log2(encArg(x_11222), encArg(x_2522))) :|: z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 0 }-> log(log(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(le(encArg(x_11219), encArg(x_2521))) :|: x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ 0 }-> log(inc(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(if(encArg(x_11223), encArg(x_2523), encArg(x_3173))) :|: x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 0 }-> log(half(encArg(z - 1))) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> log(1 + encArg(z - 1)) :|: z - 1 >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 0 }-> log2(encArg(z), encArg(z')) :|: z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 0 }-> 1 + encArg(z) :|: z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] ---------------------------------------- (73) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (74) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] ---------------------------------------- (75) 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'' ---------------------------------------- (76) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_if}, {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: ?, size: O(n^1) [1 + z''] ---------------------------------------- (77) 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: 10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3 ---------------------------------------- (78) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] ---------------------------------------- (79) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (80) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] ---------------------------------------- (81) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_log2 after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z' ---------------------------------------- (82) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_log2}, {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: ?, size: O(n^1) [1 + z'] ---------------------------------------- (83) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_log2 after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3 ---------------------------------------- (84) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] ---------------------------------------- (85) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (86) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] ---------------------------------------- (87) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_log after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (88) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_log}, {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: ?, size: O(1) [0] ---------------------------------------- (89) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_log after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 24071 + 89795*z + 49636*z^2 + 3168*z^3 ---------------------------------------- (90) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] ---------------------------------------- (91) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (92) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] ---------------------------------------- (93) 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 ---------------------------------------- (94) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_inc}, {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (95) 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: 23187 + 89408*z + 49631*z^2 + 3168*z^3 ---------------------------------------- (96) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [23187 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] ---------------------------------------- (97) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (98) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [23187 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] ---------------------------------------- (99) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: encode_le after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (100) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_le}, {encode_half}, {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [23187 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] encode_le: runtime: ?, size: O(1) [2] ---------------------------------------- (101) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: encode_le after applying outer abstraction to obtain an ITS, resulting in: O(n^3) with polynomial bound: 6481 + 11293*z + 4824*z^2 + 288*z^3 + 11294*z' + 4824*z'^2 + 288*z'^3 ---------------------------------------- (102) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 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] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [23187 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] encode_le: runtime: O(n^3) [6481 + 11293*z + 4824*z^2 + 288*z^3 + 11294*z' + 4824*z'^2 + 288*z'^3], size: O(1) [2] ---------------------------------------- (103) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (104) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 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] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [23187 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] encode_le: runtime: O(n^3) [6481 + 11293*z + 4824*z^2 + 288*z^3 + 11294*z' + 4824*z'^2 + 288*z'^3], size: O(1) [2] ---------------------------------------- (105) 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 ---------------------------------------- (106) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 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] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [23187 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] encode_le: runtime: O(n^3) [6481 + 11293*z + 4824*z^2 + 288*z^3 + 11294*z' + 4824*z'^2 + 288*z'^3], size: O(1) [2] encode_half: runtime: ?, size: O(n^1) [1 + z] ---------------------------------------- (107) 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: 23194 + 89408*z + 49631*z^2 + 3168*z^3 ---------------------------------------- (108) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [23187 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] encode_le: runtime: O(n^3) [6481 + 11293*z + 4824*z^2 + 288*z^3 + 11294*z' + 4824*z'^2 + 288*z'^3], size: O(1) [2] encode_half: runtime: O(n^3) [23194 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] ---------------------------------------- (109) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (110) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [23187 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] encode_le: runtime: O(n^3) [6481 + 11293*z + 4824*z^2 + 288*z^3 + 11294*z' + 4824*z'^2 + 288*z'^3], size: O(1) [2] encode_half: runtime: O(n^3) [23194 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] ---------------------------------------- (111) 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 ---------------------------------------- (112) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: {encode_s} Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [23187 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] encode_le: runtime: O(n^3) [6481 + 11293*z + 4824*z^2 + 288*z^3 + 11294*z' + 4824*z'^2 + 288*z'^3], size: O(1) [2] encode_half: runtime: O(n^3) [23194 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] encode_s: runtime: ?, size: O(n^1) [2 + z] ---------------------------------------- (113) 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: 3239 + 11293*z + 4824*z^2 + 288*z^3 ---------------------------------------- (114) Obligation: Complexity RNTS consisting of the following rules: encArg(z) -{ -2282 + s100 + 78*s101 + s101^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s102 :|: s100 >= 0, s100 <= z - 2 + 1, s101 >= 0, s101 <= s100, s102 >= 0, s102 <= 0, z - 2 >= 0 encArg(z) -{ 6551 + s104 + 78*s105 + s105^2 + 11293*x_199 + 4824*x_199^2 + 288*x_199^3 + 11293*x_241 + 4824*x_241^2 + 288*x_241^3 }-> s106 :|: s103 >= 0, s103 <= x_199 + 1, s104 >= 0, s104 <= x_241 + 1, s105 >= 0, s105 <= 2, s106 >= 0, s106 <= 0, z = 1 + (1 + x_199 + x_241), x_199 >= 0, x_241 >= 0 encArg(z) -{ -2283 + s107 + 78*s108 + s108^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s109 :|: s107 >= 0, s107 <= z - 2 + 1, s108 >= 0, s108 <= s107, s109 >= 0, s109 <= 0, z - 2 >= 0 encArg(z) -{ -2213 + 78*s110 + s110^2 + 78*s111 + s111^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s112 :|: s110 >= 0, s110 <= z - 2 + 1, s111 >= 0, s111 <= 0, s112 >= 0, s112 <= 0, z - 2 >= 0 encArg(z) -{ 6619 + 78*s113 + 10*s113*s114 + s113^2 + 9*s114 + 78*s115 + s115^2 + 11293*x_1102 + 4824*x_1102^2 + 288*x_1102^3 + 11293*x_242 + 4824*x_242^2 + 288*x_242^3 }-> s116 :|: s113 >= 0, s113 <= x_1102 + 1, s114 >= 0, s114 <= x_242 + 1, s115 >= 0, s115 <= s114, s116 >= 0, s116 <= 0, x_1102 >= 0, z = 1 + (1 + x_1102 + x_242), x_242 >= 0 encArg(z) -{ 10004 + 77*s118 + 10*s118*s119 + s118^2 + 27*s119 + 78*s120 + s120^2 + 11293*x_1103 + 4824*x_1103^2 + 288*x_1103^3 + 11293*x_243 + 4824*x_243^2 + 288*x_243^3 + 11293*x_313 + 4824*x_313^2 + 288*x_313^3 }-> s121 :|: s117 >= 0, s117 <= x_1103 + 1, s118 >= 0, s118 <= x_243 + 1, s119 >= 0, s119 <= x_313 + 1, s120 >= 0, s120 <= s119, s121 >= 0, s121 <= 0, z = 1 + (1 + x_1103 + x_243 + x_313), x_243 >= 0, x_313 >= 0, x_1103 >= 0 encArg(z) -{ 6548 + 78*s122 + 10*s122*s123 + s122^2 + 9*s123 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s124 :|: s122 >= 0, s122 <= x_1 + 1, s123 >= 0, s123 <= x_2 + 1, s124 >= 0, s124 <= s123, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ 9933 + 77*s126 + 10*s126*s127 + s126^2 + 27*s127 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 + 11293*x_3 + 4824*x_3^2 + 288*x_3^3 }-> s128 :|: s125 >= 0, s125 <= x_1 + 1, s126 >= 0, s126 <= x_2 + 1, s127 >= 0, s127 <= x_3 + 1, s128 >= 0, s128 <= s127, x_1 >= 0, z = 1 + x_1 + x_2 + x_3, x_3 >= 0, x_2 >= 0 encArg(z) -{ 2 }-> s16 :|: s16 >= 0, s16 <= 0, z = 1 + 0 encArg(z) -{ 4 }-> s17 :|: s17 >= 0, s17 <= 2, z = 1 + 2 encArg(z) -{ 3 }-> s18 :|: s18 >= 0, s18 <= 1, z = 1 + 1 encArg(z) -{ 2 }-> s19 :|: s19 >= 0, s19 <= 0, z - 1 >= 0 encArg(z) -{ 71 }-> s38 :|: s38 >= 0, s38 <= 0, z = 1 + 0 encArg(z) -{ 231 }-> s39 :|: s39 >= 0, s39 <= 0, z = 1 + 2 encArg(z) -{ 150 }-> s40 :|: s40 >= 0, s40 <= 0, z = 1 + 1 encArg(z) -{ 71 }-> s41 :|: s41 >= 0, s41 <= 0, z - 1 >= 0 encArg(z) -{ -2352 + s47 + -4547*z + 3096*z^2 + 288*z^3 }-> s48 :|: s47 >= 0, s47 <= z - 2 + 1, s48 >= 0, s48 <= 1 + s47, z - 2 >= 0 encArg(z) -{ -2351 + s49 + s50 + -4547*z + 3096*z^2 + 288*z^3 }-> s51 :|: s49 >= 0, s49 <= z - 2 + 1, s50 >= 0, s50 <= s49, s51 >= 0, s51 <= s50, z - 2 >= 0 encArg(z) -{ 6482 + s53 + s54 + 11293*x_11 + 4824*x_11^2 + 288*x_11^3 + 11293*x_2' + 4824*x_2'^2 + 288*x_2'^3 }-> s55 :|: s52 >= 0, s52 <= x_11 + 1, s53 >= 0, s53 <= x_2' + 1, s54 >= 0, s54 <= 2, s55 >= 0, s55 <= s54, x_11 >= 0, x_2' >= 0, z = 1 + (1 + x_11 + x_2') encArg(z) -{ -2352 + s56 + s57 + -4547*z + 3096*z^2 + 288*z^3 }-> s58 :|: s56 >= 0, s56 <= z - 2 + 1, s57 >= 0, s57 <= s56, s58 >= 0, s58 <= s57, z - 2 >= 0 encArg(z) -{ 1 }-> s6 :|: s6 >= 0, s6 <= 0, z = 1 + 0 encArg(z) -{ -2282 + 78*s59 + s59^2 + s60 + -4547*z + 3096*z^2 + 288*z^3 }-> s61 :|: s59 >= 0, s59 <= z - 2 + 1, s60 >= 0, s60 <= 0, s61 >= 0, s61 <= s60, z - 2 >= 0 encArg(z) -{ 6550 + 78*s62 + 10*s62*s63 + s62^2 + 9*s63 + s64 + 11293*x_14 + 4824*x_14^2 + 288*x_14^3 + 11293*x_2'' + 4824*x_2''^2 + 288*x_2''^3 }-> s65 :|: s62 >= 0, s62 <= x_14 + 1, s63 >= 0, s63 <= x_2'' + 1, s64 >= 0, s64 <= s63, s65 >= 0, s65 <= s64, x_14 >= 0, z = 1 + (1 + x_14 + x_2''), x_2'' >= 0 encArg(z) -{ 3 }-> s7 :|: s7 >= 0, s7 <= 2, z = 1 + 2 encArg(z) -{ 9935 + 77*s67 + 10*s67*s68 + s67^2 + 27*s68 + s69 + 11293*x_15 + 4824*x_15^2 + 288*x_15^3 + 11293*x_21 + 4824*x_21^2 + 288*x_21^3 + 11293*x_3' + 4824*x_3'^2 + 288*x_3'^3 }-> s70 :|: s66 >= 0, s66 <= x_15 + 1, s67 >= 0, s67 <= x_21 + 1, s68 >= 0, s68 <= x_3' + 1, s69 >= 0, s69 <= s68, s70 >= 0, s70 <= s69, x_15 >= 0, x_3' >= 0, x_21 >= 0, z = 1 + (1 + x_15 + x_21 + x_3') encArg(z) -{ 6480 + s72 + 11293*x_1 + 4824*x_1^2 + 288*x_1^3 + 11293*x_2 + 4824*x_2^2 + 288*x_2^3 }-> s73 :|: s71 >= 0, s71 <= x_1 + 1, s72 >= 0, s72 <= x_2 + 1, s73 >= 0, s73 <= 2, x_1 >= 0, z = 1 + x_1 + x_2, x_2 >= 0 encArg(z) -{ -2353 + s74 + -4547*z + 3096*z^2 + 288*z^3 }-> s75 :|: s74 >= 0, s74 <= z - 2 + 1, s75 >= 0, s75 <= 1 + s74, z - 2 >= 0 encArg(z) -{ -2352 + s76 + s77 + -4547*z + 3096*z^2 + 288*z^3 }-> s78 :|: s76 >= 0, s76 <= z - 2 + 1, s77 >= 0, s77 <= s76, s78 >= 0, s78 <= s77, z - 2 >= 0 encArg(z) -{ 2 }-> s8 :|: s8 >= 0, s8 <= 1, z = 1 + 1 encArg(z) -{ 6481 + s80 + s81 + 11293*x_192 + 4824*x_192^2 + 288*x_192^3 + 11293*x_238 + 4824*x_238^2 + 288*x_238^3 }-> s82 :|: s79 >= 0, s79 <= x_192 + 1, s80 >= 0, s80 <= x_238 + 1, s81 >= 0, s81 <= 2, s82 >= 0, s82 <= s81, z = 1 + (1 + x_192 + x_238), x_192 >= 0, x_238 >= 0 encArg(z) -{ -2353 + s83 + s84 + -4547*z + 3096*z^2 + 288*z^3 }-> s85 :|: s83 >= 0, s83 <= z - 2 + 1, s84 >= 0, s84 <= s83, s85 >= 0, s85 <= s84, z - 2 >= 0 encArg(z) -{ -2283 + 78*s86 + s86^2 + s87 + -4547*z + 3096*z^2 + 288*z^3 }-> s88 :|: s86 >= 0, s86 <= z - 2 + 1, s87 >= 0, s87 <= 0, s88 >= 0, s88 <= s87, z - 2 >= 0 encArg(z) -{ 1 }-> s9 :|: s9 >= 0, s9 <= 0, z - 1 >= 0 encArg(z) -{ 6549 + 78*s89 + 10*s89*s90 + s89^2 + 9*s90 + s91 + 11293*x_195 + 4824*x_195^2 + 288*x_195^3 + 11293*x_239 + 4824*x_239^2 + 288*x_239^3 }-> s92 :|: s89 >= 0, s89 <= x_195 + 1, s90 >= 0, s90 <= x_239 + 1, s91 >= 0, s91 <= s90, s92 >= 0, s92 <= s91, z = 1 + (1 + x_195 + x_239), x_195 >= 0, x_239 >= 0 encArg(z) -{ 9934 + 77*s94 + 10*s94*s95 + s94^2 + 27*s95 + s96 + 11293*x_196 + 4824*x_196^2 + 288*x_196^3 + 11293*x_240 + 4824*x_240^2 + 288*x_240^3 + 11293*x_312 + 4824*x_312^2 + 288*x_312^3 }-> s97 :|: s93 >= 0, s93 <= x_196 + 1, s94 >= 0, s94 <= x_240 + 1, s95 >= 0, s95 <= x_312 + 1, s96 >= 0, s96 <= s95, s97 >= 0, s97 <= s96, x_196 >= 0, x_312 >= 0, z = 1 + (1 + x_196 + x_240 + x_312), x_240 >= 0 encArg(z) -{ -2205 + 80*s98 + s98^2 + -4547*z + 3096*z^2 + 288*z^3 }-> s99 :|: s98 >= 0, s98 <= z - 2 + 1, s99 >= 0, s99 <= 0, z - 2 >= 0 encArg(z) -{ 0 }-> 2 :|: z = 2 encArg(z) -{ 0 }-> 1 :|: z = 1 encArg(z) -{ 0 }-> 0 :|: z = 0 encArg(z) -{ 0 }-> 0 :|: z >= 0 encArg(z) -{ -3518 + 2509*z + 3960*z^2 + 288*z^3 }-> 1 + s46 :|: s46 >= 0, s46 <= z - 1 + 1, z - 1 >= 0 encode_0 -{ 0 }-> 0 :|: encode_false -{ 0 }-> 1 :|: encode_false -{ 0 }-> 0 :|: encode_half(z) -{ -3515 + s129 + 2509*z + 3960*z^2 + 288*z^3 }-> s130 :|: s129 >= 0, s129 <= z - 1 + 1, s130 >= 0, s130 <= 1 + s129, z - 1 >= 0 encode_half(z) -{ -3514 + s131 + s132 + 2509*z + 3960*z^2 + 288*z^3 }-> s133 :|: s131 >= 0, s131 <= z - 1 + 1, s132 >= 0, s132 <= s131, s133 >= 0, s133 <= s132, z - 1 >= 0 encode_half(z) -{ 6482 + s135 + s136 + 11293*x_11121 + 4824*x_11121^2 + 288*x_11121^3 + 11293*x_2479 + 4824*x_2479^2 + 288*x_2479^3 }-> s137 :|: s134 >= 0, s134 <= x_11121 + 1, s135 >= 0, s135 <= x_2479 + 1, s136 >= 0, s136 <= 2, s137 >= 0, s137 <= s136, z = 1 + x_11121 + x_2479, x_11121 >= 0, x_2479 >= 0 encode_half(z) -{ -3515 + s138 + s139 + 2509*z + 3960*z^2 + 288*z^3 }-> s140 :|: s138 >= 0, s138 <= z - 1 + 1, s139 >= 0, s139 <= s138, s140 >= 0, s140 <= s139, z - 1 >= 0 encode_half(z) -{ -3445 + 78*s141 + s141^2 + s142 + 2509*z + 3960*z^2 + 288*z^3 }-> s143 :|: s141 >= 0, s141 <= z - 1 + 1, s142 >= 0, s142 <= 0, s143 >= 0, s143 <= s142, z - 1 >= 0 encode_half(z) -{ 6550 + 78*s144 + 10*s144*s145 + s144^2 + 9*s145 + s146 + 11293*x_11124 + 4824*x_11124^2 + 288*x_11124^3 + 11293*x_2480 + 4824*x_2480^2 + 288*x_2480^3 }-> s147 :|: s144 >= 0, s144 <= x_11124 + 1, s145 >= 0, s145 <= x_2480 + 1, s146 >= 0, s146 <= s145, s147 >= 0, s147 <= s146, x_2480 >= 0, x_11124 >= 0, z = 1 + x_11124 + x_2480 encode_half(z) -{ 9935 + 77*s149 + 10*s149*s150 + s149^2 + 27*s150 + s151 + 11293*x_11125 + 4824*x_11125^2 + 288*x_11125^3 + 11293*x_2481 + 4824*x_2481^2 + 288*x_2481^3 + 11293*x_3159 + 4824*x_3159^2 + 288*x_3159^3 }-> s152 :|: s148 >= 0, s148 <= x_11125 + 1, s149 >= 0, s149 <= x_2481 + 1, s150 >= 0, s150 <= x_3159 + 1, s151 >= 0, s151 <= s150, s152 >= 0, s152 <= s151, x_2481 >= 0, z = 1 + x_11125 + x_2481 + x_3159, x_11125 >= 0, x_3159 >= 0 encode_half(z) -{ 2 }-> s20 :|: s20 >= 0, s20 <= 0, z = 0 encode_half(z) -{ 4 }-> s21 :|: s21 >= 0, s21 <= 2, z = 2 encode_half(z) -{ 3 }-> s22 :|: s22 >= 0, s22 <= 1, z = 1 encode_half(z) -{ 2 }-> s23 :|: s23 >= 0, s23 <= 0, z >= 0 encode_half(z) -{ 0 }-> 0 :|: z >= 0 encode_if(z, z', z'') -{ 9933 + 77*s209 + 10*s209*s210 + s209^2 + 27*s210 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 + 11293*z'' + 4824*z''^2 + 288*z''^3 }-> s211 :|: s208 >= 0, s208 <= z + 1, s209 >= 0, s209 <= z' + 1, s210 >= 0, s210 <= z'' + 1, s211 >= 0, s211 <= s210, z >= 0, z'' >= 0, z' >= 0 encode_if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 encode_inc(z) -{ 1 }-> s10 :|: s10 >= 0, s10 <= 0, z = 0 encode_inc(z) -{ 3 }-> s11 :|: s11 >= 0, s11 <= 2, z = 2 encode_inc(z) -{ 2 }-> s12 :|: s12 >= 0, s12 <= 1, z = 1 encode_inc(z) -{ 1 }-> s13 :|: s13 >= 0, s13 <= 0, z >= 0 encode_inc(z) -{ -3516 + s157 + 2509*z + 3960*z^2 + 288*z^3 }-> s158 :|: s157 >= 0, s157 <= z - 1 + 1, s158 >= 0, s158 <= 1 + s157, z - 1 >= 0 encode_inc(z) -{ -3515 + s159 + s160 + 2509*z + 3960*z^2 + 288*z^3 }-> s161 :|: s159 >= 0, s159 <= z - 1 + 1, s160 >= 0, s160 <= s159, s161 >= 0, s161 <= s160, z - 1 >= 0 encode_inc(z) -{ 6481 + s163 + s164 + 11293*x_11212 + 4824*x_11212^2 + 288*x_11212^3 + 11293*x_2518 + 4824*x_2518^2 + 288*x_2518^3 }-> s165 :|: s162 >= 0, s162 <= x_11212 + 1, s163 >= 0, s163 <= x_2518 + 1, s164 >= 0, s164 <= 2, s165 >= 0, s165 <= s164, x_2518 >= 0, x_11212 >= 0, z = 1 + x_11212 + x_2518 encode_inc(z) -{ -3516 + s166 + s167 + 2509*z + 3960*z^2 + 288*z^3 }-> s168 :|: s166 >= 0, s166 <= z - 1 + 1, s167 >= 0, s167 <= s166, s168 >= 0, s168 <= s167, z - 1 >= 0 encode_inc(z) -{ -3446 + 78*s169 + s169^2 + s170 + 2509*z + 3960*z^2 + 288*z^3 }-> s171 :|: s169 >= 0, s169 <= z - 1 + 1, s170 >= 0, s170 <= 0, s171 >= 0, s171 <= s170, z - 1 >= 0 encode_inc(z) -{ 6549 + 78*s172 + 10*s172*s173 + s172^2 + 9*s173 + s174 + 11293*x_11215 + 4824*x_11215^2 + 288*x_11215^3 + 11293*x_2519 + 4824*x_2519^2 + 288*x_2519^3 }-> s175 :|: s172 >= 0, s172 <= x_11215 + 1, s173 >= 0, s173 <= x_2519 + 1, s174 >= 0, s174 <= s173, s175 >= 0, s175 <= s174, x_11215 >= 0, z = 1 + x_11215 + x_2519, x_2519 >= 0 encode_inc(z) -{ 9934 + 77*s177 + 10*s177*s178 + s177^2 + 27*s178 + s179 + 11293*x_11216 + 4824*x_11216^2 + 288*x_11216^3 + 11293*x_2520 + 4824*x_2520^2 + 288*x_2520^3 + 11293*x_3172 + 4824*x_3172^2 + 288*x_3172^3 }-> s180 :|: s176 >= 0, s176 <= x_11216 + 1, s177 >= 0, s177 <= x_2520 + 1, s178 >= 0, s178 <= x_3172 + 1, s179 >= 0, s179 <= s178, s180 >= 0, s180 <= s179, x_2520 >= 0, x_11216 >= 0, z = 1 + x_11216 + x_2520 + x_3172, x_3172 >= 0 encode_inc(z) -{ 0 }-> 0 :|: z >= 0 encode_le(z, z') -{ 6480 + s155 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s156 :|: s154 >= 0, s154 <= z + 1, s155 >= 0, s155 <= z' + 1, s156 >= 0, s156 <= 2, z >= 0, z' >= 0 encode_le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_log(z) -{ -3368 + 80*s181 + s181^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s182 :|: s181 >= 0, s181 <= z - 1 + 1, s182 >= 0, s182 <= 0, z - 1 >= 0 encode_log(z) -{ -3445 + s183 + 78*s184 + s184^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s185 :|: s183 >= 0, s183 <= z - 1 + 1, s184 >= 0, s184 <= s183, s185 >= 0, s185 <= 0, z - 1 >= 0 encode_log(z) -{ 6551 + s187 + 78*s188 + s188^2 + 11293*x_11219 + 4824*x_11219^2 + 288*x_11219^3 + 11293*x_2521 + 4824*x_2521^2 + 288*x_2521^3 }-> s189 :|: s186 >= 0, s186 <= x_11219 + 1, s187 >= 0, s187 <= x_2521 + 1, s188 >= 0, s188 <= 2, s189 >= 0, s189 <= 0, x_11219 >= 0, z = 1 + x_11219 + x_2521, x_2521 >= 0 encode_log(z) -{ -3446 + s190 + 78*s191 + s191^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s192 :|: s190 >= 0, s190 <= z - 1 + 1, s191 >= 0, s191 <= s190, s192 >= 0, s192 <= 0, z - 1 >= 0 encode_log(z) -{ -3376 + 78*s193 + s193^2 + 78*s194 + s194^2 + 2509*z + 3960*z^2 + 288*z^3 }-> s195 :|: s193 >= 0, s193 <= z - 1 + 1, s194 >= 0, s194 <= 0, s195 >= 0, s195 <= 0, z - 1 >= 0 encode_log(z) -{ 6619 + 78*s196 + 10*s196*s197 + s196^2 + 9*s197 + 78*s198 + s198^2 + 11293*x_11222 + 4824*x_11222^2 + 288*x_11222^3 + 11293*x_2522 + 4824*x_2522^2 + 288*x_2522^3 }-> s199 :|: s196 >= 0, s196 <= x_11222 + 1, s197 >= 0, s197 <= x_2522 + 1, s198 >= 0, s198 <= s197, s199 >= 0, s199 <= 0, z = 1 + x_11222 + x_2522, x_11222 >= 0, x_2522 >= 0 encode_log(z) -{ 10004 + 77*s201 + 10*s201*s202 + s201^2 + 27*s202 + 78*s203 + s203^2 + 11293*x_11223 + 4824*x_11223^2 + 288*x_11223^3 + 11293*x_2523 + 4824*x_2523^2 + 288*x_2523^3 + 11293*x_3173 + 4824*x_3173^2 + 288*x_3173^3 }-> s204 :|: s200 >= 0, s200 <= x_11223 + 1, s201 >= 0, s201 <= x_2523 + 1, s202 >= 0, s202 <= x_3173 + 1, s203 >= 0, s203 <= s202, s204 >= 0, s204 <= 0, x_3173 >= 0, z = 1 + x_11223 + x_2523 + x_3173, x_2523 >= 0, x_11223 >= 0 encode_log(z) -{ 71 }-> s42 :|: s42 >= 0, s42 <= 0, z = 0 encode_log(z) -{ 231 }-> s43 :|: s43 >= 0, s43 <= 0, z = 2 encode_log(z) -{ 150 }-> s44 :|: s44 >= 0, s44 <= 0, z = 1 encode_log(z) -{ 71 }-> s45 :|: s45 >= 0, s45 <= 0, z >= 0 encode_log(z) -{ 0 }-> 0 :|: z >= 0 encode_log2(z, z') -{ 6548 + 78*s205 + 10*s205*s206 + s205^2 + 9*s206 + 11293*z + 4824*z^2 + 288*z^3 + 11293*z' + 4824*z'^2 + 288*z'^3 }-> s207 :|: s205 >= 0, s205 <= z + 1, s206 >= 0, s206 <= z' + 1, s207 >= 0, s207 <= s206, z >= 0, z' >= 0 encode_log2(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 encode_s(z) -{ 0 }-> 0 :|: z >= 0 encode_s(z) -{ 3239 + 11293*z + 4824*z^2 + 288*z^3 }-> 1 + s153 :|: s153 >= 0, s153 <= z + 1, z >= 0 encode_true -{ 0 }-> 2 :|: encode_true -{ 0 }-> 0 :|: half(z) -{ 1 }-> 0 :|: z = 0 half(z) -{ 1 }-> 0 :|: z = 1 + 0 half(z) -{ 0 }-> 0 :|: z >= 0 half(z) -{ 1 + z }-> 1 + s14 :|: s14 >= 0, s14 <= z - 2, z - 2 >= 0 if(z, z', z'') -{ 72 + 9*z'' }-> s34 :|: s34 >= 0, s34 <= z'', z = 1, z'' >= 0, z' = 0 if(z, z', z'') -{ 72 + 9*z'' }-> s35 :|: s35 >= 0, s35 <= z'', z = 1, z'' >= 0, z' = 1 + 0 if(z, z', z'') -{ 151 + 80*s15 + 10*s15*z'' + s15^2 + z' + 19*z'' }-> s36 :|: s36 >= 0, s36 <= z'', s15 >= 0, s15 <= z' - 2, z = 1, z'' >= 0, z' - 2 >= 0 if(z, z', z'') -{ 71 + 9*z'' }-> s37 :|: s37 >= 0, s37 <= z'', z = 1, z' >= 0, z'' >= 0 if(z, z', z'') -{ 0 }-> 0 :|: z >= 0, z' >= 0, z'' >= 0 if(z, z', z'') -{ 1 }-> z'' - 1 :|: z = 2, z' >= 0, z'' - 1 >= 0 inc(z) -{ 1 }-> 0 :|: z = 0 inc(z) -{ 0 }-> 0 :|: z >= 0 inc(z) -{ 1 + z }-> 1 + s2 :|: s2 >= 0, s2 <= z - 1, z - 1 >= 0 le(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 le(z, z') -{ 1 }-> 2 :|: z' >= 0, z = 0 le(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 le(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 log(z) -{ 71 + 78*z + z^2 }-> s24 :|: s24 >= 0, s24 <= 0, z >= 0 log2(z, z') -{ 219 }-> s25 :|: s25 >= 0, s25 <= 0, z = 0, z' = 0 log2(z, z') -{ 246 + 27*s3 + z' }-> s26 :|: s26 >= 0, s26 <= 1 + s3, s3 >= 0, s3 <= z' - 1, z' - 1 >= 0, z = 0 log2(z, z') -{ 218 }-> s27 :|: s27 >= 0, s27 <= 0, z' >= 0, z = 0 log2(z, z') -{ 221 + 77*z + z^2 }-> s28 :|: s28 >= 0, s28 <= 0, s' >= 0, s' <= 2, z - 1 >= 0, z' = 0 log2(z, z') -{ 248 + 27*s4 + 10*s4*z + 87*z + z^2 + z' }-> s29 :|: s29 >= 0, s29 <= 1 + s4, s4 >= 0, s4 <= z' - 1, s'' >= 0, s'' <= 2, z' - 1 >= 0, z - 1 >= 0 log2(z, z') -{ 220 + 77*z + z^2 }-> s30 :|: s30 >= 0, s30 <= 0, s1 >= 0, s1 <= 2, z - 1 >= 0, z' >= 0 log2(z, z') -{ 218 + 77*z + z^2 }-> s31 :|: s31 >= 0, s31 <= 0, z >= 0, z' = 0 log2(z, z') -{ 245 + 27*s5 + 10*s5*z + 87*z + z^2 + z' }-> s32 :|: s32 >= 0, s32 <= 1 + s5, s5 >= 0, s5 <= z' - 1, z >= 0, z' - 1 >= 0 log2(z, z') -{ 217 + 77*z + z^2 }-> s33 :|: s33 >= 0, s33 <= 0, z >= 0, z' >= 0 Function symbols to be analyzed: Previous analysis results are: encode_0: runtime: O(1) [0], size: O(1) [0] le: runtime: O(n^1) [2 + z'], size: O(1) [2] encode_false: runtime: O(1) [0], size: O(1) [1] inc: runtime: O(n^1) [1 + z], size: O(n^1) [z] encode_true: runtime: O(1) [0], size: O(1) [2] half: runtime: O(n^1) [2 + z], size: O(n^1) [z] log2: runtime: O(n^2) [70 + 78*z + 10*z*z' + z^2 + 9*z'], size: O(n^1) [z'] if: runtime: O(n^2) [216 + 77*z' + 10*z'*z'' + z'^2 + 27*z''], size: O(n^1) [z''] log: runtime: O(n^2) [71 + 78*z + z^2], size: O(1) [0] encArg: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [1 + z] encode_if: runtime: O(n^3) [10048 + 11293*z + 4824*z^2 + 288*z^3 + 11382*z' + 10*z'*z'' + 4825*z'^2 + 288*z'^3 + 11330*z'' + 4824*z''^2 + 288*z''^3], size: O(n^1) [1 + z''] encode_log2: runtime: O(n^3) [6646 + 11383*z + 10*z*z' + 4825*z^2 + 288*z^3 + 11312*z' + 4824*z'^2 + 288*z'^3], size: O(n^1) [1 + z'] encode_log: runtime: O(n^3) [24071 + 89795*z + 49636*z^2 + 3168*z^3], size: O(1) [0] encode_inc: runtime: O(n^3) [23187 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] encode_le: runtime: O(n^3) [6481 + 11293*z + 4824*z^2 + 288*z^3 + 11294*z' + 4824*z'^2 + 288*z'^3], size: O(1) [2] encode_half: runtime: O(n^3) [23194 + 89408*z + 49631*z^2 + 3168*z^3], size: O(n^1) [1 + z] encode_s: runtime: O(n^3) [3239 + 11293*z + 4824*z^2 + 288*z^3], size: O(n^1) [2 + z] ---------------------------------------- (115) FinalProof (FINISHED) Computed overall runtime complexity ---------------------------------------- (116) BOUNDS(1, n^3) ---------------------------------------- (117) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) Transformed a relative TRS into a decreasing-loop problem. ---------------------------------------- (118) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^3). The TRS R consists of the following rules: half(0) -> 0 half(s(0)) -> 0 half(s(s(x))) -> s(half(x)) le(0, y) -> true le(s(x), 0) -> false le(s(x), s(y)) -> le(x, y) inc(0) -> 0 inc(s(x)) -> s(inc(x)) log(x) -> log2(x, 0) log2(x, y) -> if(le(x, s(0)), x, inc(y)) if(true, x, s(y)) -> y if(false, x, y) -> log2(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_le(x_1, x_2)) -> le(encArg(x_1), encArg(x_2)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encArg(cons_log2(x_1, x_2)) -> log2(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_le(x_1, x_2) -> le(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_inc(x_1) -> inc(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) encode_log2(x_1, x_2) -> log2(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 ---------------------------------------- (119) DecreasingLoopProof (LOWER BOUND(ID)) The following loop(s) give(s) rise to the lower bound Omega(n^1): The rewrite sequence half(s(s(x))) ->^+ s(half(x)) gives rise to a decreasing loop by considering the right hand sides subterm at position [0]. The pumping substitution is [x / s(s(x))]. The result substitution is [ ]. ---------------------------------------- (120) Complex Obligation (BEST) ---------------------------------------- (121) Obligation: Proved the lower bound n^1 for the following obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^3). The TRS R consists of the following rules: half(0) -> 0 half(s(0)) -> 0 half(s(s(x))) -> s(half(x)) le(0, y) -> true le(s(x), 0) -> false le(s(x), s(y)) -> le(x, y) inc(0) -> 0 inc(s(x)) -> s(inc(x)) log(x) -> log2(x, 0) log2(x, y) -> if(le(x, s(0)), x, inc(y)) if(true, x, s(y)) -> y if(false, x, y) -> log2(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_le(x_1, x_2)) -> le(encArg(x_1), encArg(x_2)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encArg(cons_log2(x_1, x_2)) -> log2(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_le(x_1, x_2) -> le(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_inc(x_1) -> inc(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) encode_log2(x_1, x_2) -> log2(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 ---------------------------------------- (122) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (123) BOUNDS(n^1, INF) ---------------------------------------- (124) Obligation: Analyzing the following TRS for decreasing loops: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, n^3). The TRS R consists of the following rules: half(0) -> 0 half(s(0)) -> 0 half(s(s(x))) -> s(half(x)) le(0, y) -> true le(s(x), 0) -> false le(s(x), s(y)) -> le(x, y) inc(0) -> 0 inc(s(x)) -> s(inc(x)) log(x) -> log2(x, 0) log2(x, y) -> if(le(x, s(0)), x, inc(y)) if(true, x, s(y)) -> y if(false, x, y) -> log2(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_le(x_1, x_2)) -> le(encArg(x_1), encArg(x_2)) encArg(cons_inc(x_1)) -> inc(encArg(x_1)) encArg(cons_log(x_1)) -> log(encArg(x_1)) encArg(cons_log2(x_1, x_2)) -> log2(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_le(x_1, x_2) -> le(encArg(x_1), encArg(x_2)) encode_true -> true encode_false -> false encode_inc(x_1) -> inc(encArg(x_1)) encode_log(x_1) -> log(encArg(x_1)) encode_log2(x_1, x_2) -> log2(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