0 JBC
↳1 JBCToGraph (⇒, 100 ms)
↳2 JBCTerminationGraph
↳3 TerminationGraphToSCCProof (⇒, 0 ms)
↳4 AND
↳5 JBCTerminationSCC
↳6 SCCToIDPv1Proof (⇒, 100 ms)
↳7 IDP
↳8 IDPNonInfProof (⇒, 170 ms)
↳9 AND
↳10 IDP
↳11 IDependencyGraphProof (⇔, 0 ms)
↳12 TRUE
↳13 IDP
↳14 IDependencyGraphProof (⇔, 0 ms)
↳15 TRUE
↳16 JBCTerminationSCC
↳17 SCCToIDPv1Proof (⇒, 340 ms)
↳18 IDP
↳19 IDPNonInfProof (⇒, 390 ms)
↳20 AND
↳21 IDP
↳22 IDependencyGraphProof (⇔, 0 ms)
↳23 IDP
↳24 UsableRulesProof (⇔, 0 ms)
↳25 IDP
↳26 IDPNonInfProof (⇒, 450 ms)
↳27 AND
↳28 IDP
↳29 IDependencyGraphProof (⇔, 0 ms)
↳30 TRUE
↳31 IDP
↳32 IDependencyGraphProof (⇔, 0 ms)
↳33 TRUE
↳34 IDP
↳35 IDependencyGraphProof (⇔, 0 ms)
↳36 IDP
↳37 UsableRulesProof (⇔, 0 ms)
↳38 IDP
↳39 IDPNonInfProof (⇒, 360 ms)
↳40 AND
↳41 IDP
↳42 IDependencyGraphProof (⇔, 0 ms)
↳43 TRUE
↳44 IDP
↳45 IDependencyGraphProof (⇔, 0 ms)
↳46 TRUE
public class Test10 {
public static void main(String[] args) {
rec(args.length);
}
private static void rec(long l) {
if (l > 0) {
for (int i = (int) l ; i < 100; i++)
test(i);
rec (l - 1);
}
}
private static void test(int i) {
descend(i);
descend(i);
descend(i);
descend(i);
descend(i);
descend(i);
descend(i);
descend(i);
}
private static void descend(int i) {
if (i > 0)
descend(i - 1);
}
}
Generated 9 rules for P and 7 rules for R.
P rules:
227_0_descend_LE(EOS(STATIC_227), i46, i46) → 231_0_descend_LE(EOS(STATIC_231), i46, i46)
231_0_descend_LE(EOS(STATIC_231), i46, i46) → 235_0_descend_Load(EOS(STATIC_235), i46) | >(i46, 0)
235_0_descend_Load(EOS(STATIC_235), i46) → 239_0_descend_ConstantStackPush(EOS(STATIC_239), i46)
239_0_descend_ConstantStackPush(EOS(STATIC_239), i46) → 244_0_descend_IntArithmetic(EOS(STATIC_244), i46, 1)
244_0_descend_IntArithmetic(EOS(STATIC_244), i46, matching1) → 248_0_descend_InvokeMethod(EOS(STATIC_248), -(i46, 1)) | &&(>(i46, 0), =(matching1, 1))
248_0_descend_InvokeMethod(EOS(STATIC_248), i48) → 250_1_descend_InvokeMethod(250_0_descend_Load(EOS(STATIC_250), i48), i48)
250_0_descend_Load(EOS(STATIC_250), i48) → 253_0_descend_Load(EOS(STATIC_253), i48)
253_0_descend_Load(EOS(STATIC_253), i48) → 224_0_descend_Load(EOS(STATIC_224), i48)
224_0_descend_Load(EOS(STATIC_224), i42) → 227_0_descend_LE(EOS(STATIC_227), i42, i42)
R rules:
227_0_descend_LE(EOS(STATIC_227), matching1, matching2) → 229_0_descend_LE(EOS(STATIC_229), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
229_0_descend_LE(EOS(STATIC_229), matching1, matching2) → 233_0_descend_Return(EOS(STATIC_233)) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
250_1_descend_InvokeMethod(233_0_descend_Return(EOS(STATIC_233)), matching1) → 263_0_descend_Return(EOS(STATIC_263), 0) | =(matching1, 0)
250_1_descend_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), i63) → 310_0_descend_Return(EOS(STATIC_310), i63)
263_0_descend_Return(EOS(STATIC_263), matching1) → 284_0_descend_Return(EOS(STATIC_284), 0) | =(matching1, 0)
284_0_descend_Return(EOS(STATIC_284), i57) → 289_0_descend_Return(EOS(STATIC_289))
310_0_descend_Return(EOS(STATIC_310), i63) → 284_0_descend_Return(EOS(STATIC_284), i63)
Combined rules. Obtained 1 conditional rules for P and 3 conditional rules for R.
P rules:
227_0_descend_LE(EOS(STATIC_227), x0, x0) → 250_1_descend_InvokeMethod(227_0_descend_LE(EOS(STATIC_227), -(x0, 1), -(x0, 1)), -(x0, 1)) | >(x0, 0)
R rules:
227_0_descend_LE(EOS(STATIC_227), 0, 0) → 233_0_descend_Return(EOS(STATIC_233))
250_1_descend_InvokeMethod(233_0_descend_Return(EOS(STATIC_233)), 0) → 289_0_descend_Return(EOS(STATIC_289))
250_1_descend_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), x0) → 289_0_descend_Return(EOS(STATIC_289))
Filtered ground terms:
227_0_descend_LE(x1, x2, x3) → 227_0_descend_LE(x2, x3)
Cond_227_0_descend_LE(x1, x2, x3, x4) → Cond_227_0_descend_LE(x1, x3, x4)
289_0_descend_Return(x1) → 289_0_descend_Return
233_0_descend_Return(x1) → 233_0_descend_Return
Filtered duplicate args:
227_0_descend_LE(x1, x2) → 227_0_descend_LE(x2)
Cond_227_0_descend_LE(x1, x2, x3) → Cond_227_0_descend_LE(x1, x3)
Combined rules. Obtained 1 conditional rules for P and 3 conditional rules for R.
P rules:
227_0_descend_LE(x0) → 250_1_descend_InvokeMethod(227_0_descend_LE(-(x0, 1)), -(x0, 1)) | >(x0, 0)
R rules:
227_0_descend_LE(0) → 233_0_descend_Return
250_1_descend_InvokeMethod(233_0_descend_Return, 0) → 289_0_descend_Return
250_1_descend_InvokeMethod(289_0_descend_Return, x0) → 289_0_descend_Return
Performed bisimulation on rules. Used the following equivalence classes: {[233_0_descend_Return, 289_0_descend_Return]=233_0_descend_Return}
Finished conversion. Obtained 2 rules for P and 3 rules for R. System has predefined symbols.
P rules:
227_0_DESCEND_LE(x0) → COND_227_0_DESCEND_LE(>(x0, 0), x0)
COND_227_0_DESCEND_LE(TRUE, x0) → 227_0_DESCEND_LE(-(x0, 1))
R rules:
227_0_descend_LE(0) → 233_0_descend_Return
250_1_descend_InvokeMethod(233_0_descend_Return, 0) → 233_0_descend_Return
250_1_descend_InvokeMethod(233_0_descend_Return, x0) → 233_0_descend_Return
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(0) -> (1), if (x0[0] > 0 ∧x0[0] →* x0[1])
(1) -> (0), if (x0[1] - 1 →* x0[0])
(1) (>(x0[0], 0)=TRUE∧x0[0]=x0[1] ⇒ 227_0_DESCEND_LE(x0[0])≥NonInfC∧227_0_DESCEND_LE(x0[0])≥COND_227_0_DESCEND_LE(>(x0[0], 0), x0[0])∧(UIncreasing(COND_227_0_DESCEND_LE(>(x0[0], 0), x0[0])), ≥))
(2) (>(x0[0], 0)=TRUE ⇒ 227_0_DESCEND_LE(x0[0])≥NonInfC∧227_0_DESCEND_LE(x0[0])≥COND_227_0_DESCEND_LE(>(x0[0], 0), x0[0])∧(UIncreasing(COND_227_0_DESCEND_LE(>(x0[0], 0), x0[0])), ≥))
(3) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_227_0_DESCEND_LE(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(4) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_227_0_DESCEND_LE(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(5) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_227_0_DESCEND_LE(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(6) (x0[0] ≥ 0 ⇒ (UIncreasing(COND_227_0_DESCEND_LE(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11 + (2)bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(7) (COND_227_0_DESCEND_LE(TRUE, x0[1])≥NonInfC∧COND_227_0_DESCEND_LE(TRUE, x0[1])≥227_0_DESCEND_LE(-(x0[1], 1))∧(UIncreasing(227_0_DESCEND_LE(-(x0[1], 1))), ≥))
(8) ((UIncreasing(227_0_DESCEND_LE(-(x0[1], 1))), ≥)∧[bni_13] = 0∧[2 + (-1)bso_14] ≥ 0)
(9) ((UIncreasing(227_0_DESCEND_LE(-(x0[1], 1))), ≥)∧[bni_13] = 0∧[2 + (-1)bso_14] ≥ 0)
(10) ((UIncreasing(227_0_DESCEND_LE(-(x0[1], 1))), ≥)∧[bni_13] = 0∧[2 + (-1)bso_14] ≥ 0)
(11) ((UIncreasing(227_0_DESCEND_LE(-(x0[1], 1))), ≥)∧[bni_13] = 0∧0 = 0∧[2 + (-1)bso_14] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(227_0_descend_LE(x1)) = [-1]
POL(0) = 0
POL(233_0_descend_Return) = [-1]
POL(250_1_descend_InvokeMethod(x1, x2)) = [-1]
POL(227_0_DESCEND_LE(x1)) = [2]x1
POL(COND_227_0_DESCEND_LE(x1, x2)) = [2]x2
POL(>(x1, x2)) = [-1]
POL(-(x1, x2)) = x1 + [-1]x2
POL(1) = [1]
COND_227_0_DESCEND_LE(TRUE, x0[1]) → 227_0_DESCEND_LE(-(x0[1], 1))
227_0_DESCEND_LE(x0[0]) → COND_227_0_DESCEND_LE(>(x0[0], 0), x0[0])
227_0_DESCEND_LE(x0[0]) → COND_227_0_DESCEND_LE(>(x0[0], 0), x0[0])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
Generated 59 rules for P and 40 rules for R.
P rules:
63_0_rec_ConstantStackPush(EOS(STATIC_63), i3, i3) → 65_0_rec_Cmp(EOS(STATIC_65), i3, i3, 0)
65_0_rec_Cmp(EOS(STATIC_65), i6, i6, matching1) → 68_0_rec_Cmp(EOS(STATIC_68), i6, i6, 0) | =(matching1, 0)
68_0_rec_Cmp(EOS(STATIC_68), i6, i6, matching1) → 72_0_rec_LE(EOS(STATIC_72), i6, 1) | &&(>(i6, 0), =(matching1, 0))
72_0_rec_LE(EOS(STATIC_72), i6, matching1) → 76_0_rec_Load(EOS(STATIC_76), i6) | &&(>(1, 0), =(matching1, 1))
76_0_rec_Load(EOS(STATIC_76), i6) → 81_0_rec_TypeCast(EOS(STATIC_81), i6, i6)
81_0_rec_TypeCast(EOS(STATIC_81), i6, i6) → 92_0_rec_Store(EOS(STATIC_92), i6, i10) | =(i10, i6)
92_0_rec_Store(EOS(STATIC_92), i6, i10) → 94_0_rec_Load(EOS(STATIC_94), i6, i10)
94_0_rec_Load(EOS(STATIC_94), i6, i10) → 96_0_rec_ConstantStackPush(EOS(STATIC_96), i6, i10, i10)
96_0_rec_ConstantStackPush(EOS(STATIC_96), i6, i10, i10) → 99_0_rec_GE(EOS(STATIC_99), i6, i10, i10, 100)
99_0_rec_GE(EOS(STATIC_99), i6, i14, i14, matching1) → 102_0_rec_GE(EOS(STATIC_102), i6, i14, i14, 100) | =(matching1, 100)
99_0_rec_GE(EOS(STATIC_99), i6, i15, i15, matching1) → 103_0_rec_GE(EOS(STATIC_103), i6, i15, i15, 100) | =(matching1, 100)
102_0_rec_GE(EOS(STATIC_102), i6, i14, i14, matching1) → 105_0_rec_Load(EOS(STATIC_105), i6, i14) | &&(<(i14, 100), =(matching1, 100))
105_0_rec_Load(EOS(STATIC_105), i6, i14) → 109_0_rec_InvokeMethod(EOS(STATIC_109), i6, i14, i14)
109_0_rec_InvokeMethod(EOS(STATIC_109), i6, i14, i14) → 113_0_test_Load(EOS(STATIC_113), i6, i14, i14, i14)
113_0_test_Load(EOS(STATIC_113), i6, i14, i14, i14) → 120_0_test_InvokeMethod(EOS(STATIC_120), i6, i14, i14, i14, i14)
120_0_test_InvokeMethod(EOS(STATIC_120), i6, i14, i14, i14, i14) → 123_1_test_InvokeMethod(123_0_descend_Load(EOS(STATIC_123), i14), i6, i14, i14, i14, i14)
123_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), i6, i60, i60, i60, i60) → 307_0_descend_Return(EOS(STATIC_307), i6, i60, i60, i60, i60)
307_0_descend_Return(EOS(STATIC_307), i6, i60, i60, i60, i60) → 278_0_descend_Return(EOS(STATIC_278), i6, i60, i60, i60, i60)
278_0_descend_Return(EOS(STATIC_278), i6, i53, i53, i53, i53) → 287_0_test_Load(EOS(STATIC_287), i6, i53, i53, i53)
287_0_test_Load(EOS(STATIC_287), i6, i53, i53, i53) → 291_0_test_InvokeMethod(EOS(STATIC_291), i6, i53, i53, i53, i53)
291_0_test_InvokeMethod(EOS(STATIC_291), i6, i53, i53, i53, i53) → 295_1_test_InvokeMethod(295_0_descend_Load(EOS(STATIC_295), i53), i6, i53, i53, i53, i53)
295_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), i6, i69, i69, i69, i69) → 319_0_descend_Return(EOS(STATIC_319), i6, i69, i69, i69, i69)
319_0_descend_Return(EOS(STATIC_319), i6, i69, i69, i69, i69) → 320_0_test_Load(EOS(STATIC_320), i6, i69, i69, i69)
320_0_test_Load(EOS(STATIC_320), i6, i69, i69, i69) → 322_0_test_InvokeMethod(EOS(STATIC_322), i6, i69, i69, i69, i69)
322_0_test_InvokeMethod(EOS(STATIC_322), i6, i69, i69, i69, i69) → 324_1_test_InvokeMethod(324_0_descend_Load(EOS(STATIC_324), i69), i6, i69, i69, i69, i69)
324_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), i6, i73, i73, i73, i73) → 335_0_descend_Return(EOS(STATIC_335), i6, i73, i73, i73, i73)
335_0_descend_Return(EOS(STATIC_335), i6, i73, i73, i73, i73) → 337_0_test_Load(EOS(STATIC_337), i6, i73, i73, i73)
337_0_test_Load(EOS(STATIC_337), i6, i73, i73, i73) → 339_0_test_InvokeMethod(EOS(STATIC_339), i6, i73, i73, i73, i73)
339_0_test_InvokeMethod(EOS(STATIC_339), i6, i73, i73, i73, i73) → 341_1_test_InvokeMethod(341_0_descend_Load(EOS(STATIC_341), i73), i6, i73, i73, i73, i73)
341_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), i6, i75, i75, i75, i75) → 352_0_descend_Return(EOS(STATIC_352), i6, i75, i75, i75, i75)
352_0_descend_Return(EOS(STATIC_352), i6, i75, i75, i75, i75) → 353_0_test_Load(EOS(STATIC_353), i6, i75, i75, i75)
353_0_test_Load(EOS(STATIC_353), i6, i75, i75, i75) → 356_0_test_InvokeMethod(EOS(STATIC_356), i6, i75, i75, i75, i75)
356_0_test_InvokeMethod(EOS(STATIC_356), i6, i75, i75, i75, i75) → 358_1_test_InvokeMethod(358_0_descend_Load(EOS(STATIC_358), i75), i6, i75, i75, i75, i75)
358_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), i6, i79, i79, i79, i79) → 369_0_descend_Return(EOS(STATIC_369), i6, i79, i79, i79, i79)
369_0_descend_Return(EOS(STATIC_369), i6, i79, i79, i79, i79) → 371_0_test_Load(EOS(STATIC_371), i6, i79, i79, i79)
371_0_test_Load(EOS(STATIC_371), i6, i79, i79, i79) → 373_0_test_InvokeMethod(EOS(STATIC_373), i6, i79, i79, i79, i79)
373_0_test_InvokeMethod(EOS(STATIC_373), i6, i79, i79, i79, i79) → 375_1_test_InvokeMethod(375_0_descend_Load(EOS(STATIC_375), i79), i6, i79, i79, i79, i79)
375_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), i6, i82, i82, i82, i82) → 389_0_descend_Return(EOS(STATIC_389), i6, i82, i82, i82, i82)
389_0_descend_Return(EOS(STATIC_389), i6, i82, i82, i82, i82) → 391_0_test_Load(EOS(STATIC_391), i6, i82, i82, i82)
391_0_test_Load(EOS(STATIC_391), i6, i82, i82, i82) → 393_0_test_InvokeMethod(EOS(STATIC_393), i6, i82, i82, i82, i82)
393_0_test_InvokeMethod(EOS(STATIC_393), i6, i82, i82, i82, i82) → 395_1_test_InvokeMethod(395_0_descend_Load(EOS(STATIC_395), i82), i6, i82, i82, i82, i82)
395_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), i6, i86, i86, i86, i86) → 405_0_descend_Return(EOS(STATIC_405), i6, i86, i86, i86, i86)
405_0_descend_Return(EOS(STATIC_405), i6, i86, i86, i86, i86) → 407_0_test_Load(EOS(STATIC_407), i6, i86, i86, i86)
407_0_test_Load(EOS(STATIC_407), i6, i86, i86, i86) → 409_0_test_InvokeMethod(EOS(STATIC_409), i6, i86, i86, i86)
409_0_test_InvokeMethod(EOS(STATIC_409), i6, i86, i86, i86) → 410_1_test_InvokeMethod(410_0_descend_Load(EOS(STATIC_410), i86), i6, i86, i86, i86)
410_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), i6, i90, i90, i90) → 421_0_descend_Return(EOS(STATIC_421), i6, i90, i90, i90)
421_0_descend_Return(EOS(STATIC_421), i6, i90, i90, i90) → 423_0_test_Return(EOS(STATIC_423), i6, i90, i90)
423_0_test_Return(EOS(STATIC_423), i6, i90, i90) → 425_0_rec_Inc(EOS(STATIC_425), i6, i90)
425_0_rec_Inc(EOS(STATIC_425), i6, i90) → 427_0_rec_JMP(EOS(STATIC_427), i6, +(i90, 1)) | >(i90, 0)
427_0_rec_JMP(EOS(STATIC_427), i6, i92) → 430_0_rec_Load(EOS(STATIC_430), i6, i92)
430_0_rec_Load(EOS(STATIC_430), i6, i92) → 94_0_rec_Load(EOS(STATIC_94), i6, i92)
103_0_rec_GE(EOS(STATIC_103), i6, i15, i15, matching1) → 107_0_rec_Load(EOS(STATIC_107), i6) | &&(>=(i15, 100), =(matching1, 100))
107_0_rec_Load(EOS(STATIC_107), i6) → 111_0_rec_ConstantStackPush(EOS(STATIC_111), i6)
111_0_rec_ConstantStackPush(EOS(STATIC_111), i6) → 114_0_rec_IntArithmetic(EOS(STATIC_114), i6, 1)
114_0_rec_IntArithmetic(EOS(STATIC_114), i6, matching1) → 117_0_rec_InvokeMethod(EOS(STATIC_117), -(i6, 1)) | &&(>(i6, 0), =(matching1, 1))
117_0_rec_InvokeMethod(EOS(STATIC_117), i17) → 121_1_rec_InvokeMethod(121_0_rec_Load(EOS(STATIC_121), i17), i17)
121_0_rec_Load(EOS(STATIC_121), i17) → 126_0_rec_Load(EOS(STATIC_126), i17)
126_0_rec_Load(EOS(STATIC_126), i17) → 61_0_rec_Load(EOS(STATIC_61), i17)
61_0_rec_Load(EOS(STATIC_61), i3) → 63_0_rec_ConstantStackPush(EOS(STATIC_63), i3, i3)
R rules:
123_0_descend_Load(EOS(STATIC_123), i14) → 129_0_descend_Load(EOS(STATIC_129), i14)
129_0_descend_Load(EOS(STATIC_129), i14) → 224_0_descend_Load(EOS(STATIC_224), i14)
295_0_descend_Load(EOS(STATIC_295), i53) → 304_0_descend_Load(EOS(STATIC_304), i53)
304_0_descend_Load(EOS(STATIC_304), i53) → 224_0_descend_Load(EOS(STATIC_224), i53)
324_0_descend_Load(EOS(STATIC_324), i69) → 326_0_descend_Load(EOS(STATIC_326), i69)
326_0_descend_Load(EOS(STATIC_326), i69) → 224_0_descend_Load(EOS(STATIC_224), i69)
341_0_descend_Load(EOS(STATIC_341), i73) → 343_0_descend_Load(EOS(STATIC_343), i73)
343_0_descend_Load(EOS(STATIC_343), i73) → 224_0_descend_Load(EOS(STATIC_224), i73)
358_0_descend_Load(EOS(STATIC_358), i75) → 360_0_descend_Load(EOS(STATIC_360), i75)
360_0_descend_Load(EOS(STATIC_360), i75) → 224_0_descend_Load(EOS(STATIC_224), i75)
375_0_descend_Load(EOS(STATIC_375), i79) → 377_0_descend_Load(EOS(STATIC_377), i79)
377_0_descend_Load(EOS(STATIC_377), i79) → 224_0_descend_Load(EOS(STATIC_224), i79)
395_0_descend_Load(EOS(STATIC_395), i82) → 398_0_descend_Load(EOS(STATIC_398), i82)
398_0_descend_Load(EOS(STATIC_398), i82) → 224_0_descend_Load(EOS(STATIC_224), i82)
410_0_descend_Load(EOS(STATIC_410), i86) → 412_0_descend_Load(EOS(STATIC_412), i86)
412_0_descend_Load(EOS(STATIC_412), i86) → 224_0_descend_Load(EOS(STATIC_224), i86)
253_0_descend_Load(EOS(STATIC_253), i48) → 224_0_descend_Load(EOS(STATIC_224), i48)
224_0_descend_Load(EOS(STATIC_224), i42) → 227_0_descend_LE(EOS(STATIC_227), i42, i42)
227_0_descend_LE(EOS(STATIC_227), matching1, matching2) → 229_0_descend_LE(EOS(STATIC_229), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
227_0_descend_LE(EOS(STATIC_227), i46, i46) → 231_0_descend_LE(EOS(STATIC_231), i46, i46)
229_0_descend_LE(EOS(STATIC_229), matching1, matching2) → 233_0_descend_Return(EOS(STATIC_233)) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
231_0_descend_LE(EOS(STATIC_231), i46, i46) → 235_0_descend_Load(EOS(STATIC_235), i46) | >(i46, 0)
235_0_descend_Load(EOS(STATIC_235), i46) → 239_0_descend_ConstantStackPush(EOS(STATIC_239), i46)
239_0_descend_ConstantStackPush(EOS(STATIC_239), i46) → 244_0_descend_IntArithmetic(EOS(STATIC_244), i46, 1)
244_0_descend_IntArithmetic(EOS(STATIC_244), i46, matching1) → 248_0_descend_InvokeMethod(EOS(STATIC_248), -(i46, 1)) | &&(>(i46, 0), =(matching1, 1))
248_0_descend_InvokeMethod(EOS(STATIC_248), i48) → 250_1_descend_InvokeMethod(250_0_descend_Load(EOS(STATIC_250), i48), i48)
250_0_descend_Load(EOS(STATIC_250), i48) → 253_0_descend_Load(EOS(STATIC_253), i48)
250_1_descend_InvokeMethod(233_0_descend_Return(EOS(STATIC_233)), matching1) → 263_0_descend_Return(EOS(STATIC_263), 0) | =(matching1, 0)
250_1_descend_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), i63) → 310_0_descend_Return(EOS(STATIC_310), i63)
263_0_descend_Return(EOS(STATIC_263), matching1) → 284_0_descend_Return(EOS(STATIC_284), 0) | =(matching1, 0)
284_0_descend_Return(EOS(STATIC_284), i57) → 289_0_descend_Return(EOS(STATIC_289))
310_0_descend_Return(EOS(STATIC_310), i63) → 284_0_descend_Return(EOS(STATIC_284), i63)
65_0_rec_Cmp(EOS(STATIC_65), matching1, matching2, matching3) → 67_0_rec_Cmp(EOS(STATIC_67), 0, 0, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
67_0_rec_Cmp(EOS(STATIC_67), matching1, matching2, matching3) → 69_0_rec_LE(EOS(STATIC_69), 0, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
69_0_rec_LE(EOS(STATIC_69), matching1, matching2) → 74_0_rec_Return(EOS(STATIC_74)) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
121_1_rec_InvokeMethod(74_0_rec_Return(EOS(STATIC_74)), matching1) → 140_0_rec_Return(EOS(STATIC_140), 0) | =(matching1, 0)
121_1_rec_InvokeMethod(191_0_rec_Return(EOS(STATIC_191)), i37) → 219_0_rec_Return(EOS(STATIC_219), i37)
140_0_rec_Return(EOS(STATIC_140), matching1) → 183_0_rec_Return(EOS(STATIC_183), 0) | =(matching1, 0)
183_0_rec_Return(EOS(STATIC_183), i31) → 191_0_rec_Return(EOS(STATIC_191))
219_0_rec_Return(EOS(STATIC_219), i37) → 183_0_rec_Return(EOS(STATIC_183), i37)
Combined rules. Obtained 10 conditional rules for P and 14 conditional rules for R.
P rules:
99_0_rec_GE(EOS(STATIC_99), x0, x1, x1, 100) → 123_1_test_InvokeMethod(123_0_descend_Load(EOS(STATIC_123), x1), x0, x1, x1, x1, x1) | <(x1, 100)
123_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), x0, x1, x1, x1, x1) → 295_1_test_InvokeMethod(295_0_descend_Load(EOS(STATIC_295), x1), x0, x1, x1, x1, x1)
295_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), x0, x1, x1, x1, x1) → 324_1_test_InvokeMethod(324_0_descend_Load(EOS(STATIC_324), x1), x0, x1, x1, x1, x1)
324_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), x0, x1, x1, x1, x1) → 341_1_test_InvokeMethod(341_0_descend_Load(EOS(STATIC_341), x1), x0, x1, x1, x1, x1)
341_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), x0, x1, x1, x1, x1) → 358_1_test_InvokeMethod(358_0_descend_Load(EOS(STATIC_358), x1), x0, x1, x1, x1, x1)
358_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), x0, x1, x1, x1, x1) → 375_1_test_InvokeMethod(375_0_descend_Load(EOS(STATIC_375), x1), x0, x1, x1, x1, x1)
375_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), x0, x1, x1, x1, x1) → 395_1_test_InvokeMethod(395_0_descend_Load(EOS(STATIC_395), x1), x0, x1, x1, x1, x1)
395_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), x0, x1, x1, x1, x1) → 410_1_test_InvokeMethod(410_0_descend_Load(EOS(STATIC_410), x1), x0, x1, x1, x1)
410_1_test_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), x0, x1, x1, x1) → 99_0_rec_GE(EOS(STATIC_99), x0, +(x1, 1), +(x1, 1), 100) | >(x1, 0)
99_0_rec_GE(EOS(STATIC_99), x0, x1, x1, 100) → 121_1_rec_InvokeMethod(99_0_rec_GE(EOS(STATIC_99), -(x0, 1), -(x0, 1), -(x0, 1), 100), -(x0, 1)) | &&(>(+(x1, 1), 100), >(x0, 1))
R rules:
123_0_descend_Load(EOS(STATIC_123), x0) → 227_0_descend_LE(EOS(STATIC_227), x0, x0)
295_0_descend_Load(EOS(STATIC_295), x0) → 227_0_descend_LE(EOS(STATIC_227), x0, x0)
324_0_descend_Load(EOS(STATIC_324), x0) → 227_0_descend_LE(EOS(STATIC_227), x0, x0)
341_0_descend_Load(EOS(STATIC_341), x0) → 227_0_descend_LE(EOS(STATIC_227), x0, x0)
358_0_descend_Load(EOS(STATIC_358), x0) → 227_0_descend_LE(EOS(STATIC_227), x0, x0)
375_0_descend_Load(EOS(STATIC_375), x0) → 227_0_descend_LE(EOS(STATIC_227), x0, x0)
395_0_descend_Load(EOS(STATIC_395), x0) → 227_0_descend_LE(EOS(STATIC_227), x0, x0)
410_0_descend_Load(EOS(STATIC_410), x0) → 227_0_descend_LE(EOS(STATIC_227), x0, x0)
227_0_descend_LE(EOS(STATIC_227), 0, 0) → 233_0_descend_Return(EOS(STATIC_233))
227_0_descend_LE(EOS(STATIC_227), x0, x0) → 250_1_descend_InvokeMethod(227_0_descend_LE(EOS(STATIC_227), -(x0, 1), -(x0, 1)), -(x0, 1)) | >(x0, 0)
250_1_descend_InvokeMethod(233_0_descend_Return(EOS(STATIC_233)), 0) → 289_0_descend_Return(EOS(STATIC_289))
250_1_descend_InvokeMethod(289_0_descend_Return(EOS(STATIC_289)), x0) → 289_0_descend_Return(EOS(STATIC_289))
121_1_rec_InvokeMethod(74_0_rec_Return(EOS(STATIC_74)), 0) → 191_0_rec_Return(EOS(STATIC_191))
121_1_rec_InvokeMethod(191_0_rec_Return(EOS(STATIC_191)), x0) → 191_0_rec_Return(EOS(STATIC_191))
Filtered ground terms:
99_0_rec_GE(x1, x2, x3, x4, x5) → 99_0_rec_GE(x2, x3, x4)
Cond_99_0_rec_GE1(x1, x2, x3, x4, x5, x6) → Cond_99_0_rec_GE1(x1, x3, x4, x5)
Cond_410_1_test_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_410_1_test_InvokeMethod(x1, x3, x4, x5, x6)
289_0_descend_Return(x1) → 289_0_descend_Return
410_0_descend_Load(x1, x2) → 410_0_descend_Load(x2)
395_0_descend_Load(x1, x2) → 395_0_descend_Load(x2)
375_0_descend_Load(x1, x2) → 375_0_descend_Load(x2)
358_0_descend_Load(x1, x2) → 358_0_descend_Load(x2)
341_0_descend_Load(x1, x2) → 341_0_descend_Load(x2)
324_0_descend_Load(x1, x2) → 324_0_descend_Load(x2)
295_0_descend_Load(x1, x2) → 295_0_descend_Load(x2)
123_0_descend_Load(x1, x2) → 123_0_descend_Load(x2)
Cond_99_0_rec_GE(x1, x2, x3, x4, x5, x6) → Cond_99_0_rec_GE(x1, x3, x4, x5)
191_0_rec_Return(x1) → 191_0_rec_Return
74_0_rec_Return(x1) → 74_0_rec_Return
233_0_descend_Return(x1) → 233_0_descend_Return
227_0_descend_LE(x1, x2, x3) → 227_0_descend_LE(x2, x3)
Cond_227_0_descend_LE(x1, x2, x3, x4) → Cond_227_0_descend_LE(x1, x3, x4)
Filtered duplicate args:
99_0_rec_GE(x1, x2, x3) → 99_0_rec_GE(x1, x3)
Cond_99_0_rec_GE(x1, x2, x3, x4) → Cond_99_0_rec_GE(x1, x2, x4)
123_1_test_InvokeMethod(x1, x2, x3, x4, x5, x6) → 123_1_test_InvokeMethod(x1, x2, x6)
295_1_test_InvokeMethod(x1, x2, x3, x4, x5, x6) → 295_1_test_InvokeMethod(x1, x2, x6)
324_1_test_InvokeMethod(x1, x2, x3, x4, x5, x6) → 324_1_test_InvokeMethod(x1, x2, x6)
341_1_test_InvokeMethod(x1, x2, x3, x4, x5, x6) → 341_1_test_InvokeMethod(x1, x2, x6)
358_1_test_InvokeMethod(x1, x2, x3, x4, x5, x6) → 358_1_test_InvokeMethod(x1, x2, x6)
375_1_test_InvokeMethod(x1, x2, x3, x4, x5, x6) → 375_1_test_InvokeMethod(x1, x2, x6)
395_1_test_InvokeMethod(x1, x2, x3, x4, x5, x6) → 395_1_test_InvokeMethod(x1, x2, x6)
410_1_test_InvokeMethod(x1, x2, x3, x4, x5) → 410_1_test_InvokeMethod(x1, x2, x5)
Cond_410_1_test_InvokeMethod(x1, x2, x3, x4, x5) → Cond_410_1_test_InvokeMethod(x1, x2, x5)
Cond_99_0_rec_GE1(x1, x2, x3, x4) → Cond_99_0_rec_GE1(x1, x2, x4)
227_0_descend_LE(x1, x2) → 227_0_descend_LE(x2)
Cond_227_0_descend_LE(x1, x2, x3) → Cond_227_0_descend_LE(x1, x3)
Filtered unneeded arguments:
Cond_99_0_rec_GE1(x1, x2, x3) → Cond_99_0_rec_GE1(x1, x2)
Combined rules. Obtained 10 conditional rules for P and 14 conditional rules for R.
P rules:
99_0_rec_GE(x0, x1) → 123_1_test_InvokeMethod(123_0_descend_Load(x1), x0, x1) | <(x1, 100)
123_1_test_InvokeMethod(289_0_descend_Return, x0, x1) → 295_1_test_InvokeMethod(295_0_descend_Load(x1), x0, x1)
295_1_test_InvokeMethod(289_0_descend_Return, x0, x1) → 324_1_test_InvokeMethod(324_0_descend_Load(x1), x0, x1)
324_1_test_InvokeMethod(289_0_descend_Return, x0, x1) → 341_1_test_InvokeMethod(341_0_descend_Load(x1), x0, x1)
341_1_test_InvokeMethod(289_0_descend_Return, x0, x1) → 358_1_test_InvokeMethod(358_0_descend_Load(x1), x0, x1)
358_1_test_InvokeMethod(289_0_descend_Return, x0, x1) → 375_1_test_InvokeMethod(375_0_descend_Load(x1), x0, x1)
375_1_test_InvokeMethod(289_0_descend_Return, x0, x1) → 395_1_test_InvokeMethod(395_0_descend_Load(x1), x0, x1)
395_1_test_InvokeMethod(289_0_descend_Return, x0, x1) → 410_1_test_InvokeMethod(410_0_descend_Load(x1), x0, x1)
410_1_test_InvokeMethod(289_0_descend_Return, x0, x1) → 99_0_rec_GE(x0, +(x1, 1)) | >(x1, 0)
99_0_rec_GE(x0, x1) → 121_1_rec_InvokeMethod(99_0_rec_GE(-(x0, 1), -(x0, 1)), -(x0, 1)) | &&(>(x1, 99), >(x0, 1))
R rules:
123_0_descend_Load(x0) → 227_0_descend_LE(x0)
295_0_descend_Load(x0) → 227_0_descend_LE(x0)
324_0_descend_Load(x0) → 227_0_descend_LE(x0)
341_0_descend_Load(x0) → 227_0_descend_LE(x0)
358_0_descend_Load(x0) → 227_0_descend_LE(x0)
375_0_descend_Load(x0) → 227_0_descend_LE(x0)
395_0_descend_Load(x0) → 227_0_descend_LE(x0)
410_0_descend_Load(x0) → 227_0_descend_LE(x0)
227_0_descend_LE(0) → 233_0_descend_Return
227_0_descend_LE(x0) → 250_1_descend_InvokeMethod(227_0_descend_LE(-(x0, 1)), -(x0, 1)) | >(x0, 0)
250_1_descend_InvokeMethod(233_0_descend_Return, 0) → 289_0_descend_Return
250_1_descend_InvokeMethod(289_0_descend_Return, x0) → 289_0_descend_Return
121_1_rec_InvokeMethod(74_0_rec_Return, 0) → 191_0_rec_Return
121_1_rec_InvokeMethod(191_0_rec_Return, x0) → 191_0_rec_Return
Performed bisimulation on rules. Used the following equivalence classes: {[123_0_descend_Load_1, 295_0_descend_Load_1, 324_0_descend_Load_1, 341_0_descend_Load_1, 358_0_descend_Load_1, 375_0_descend_Load_1, 395_0_descend_Load_1, 410_0_descend_Load_1]=123_0_descend_Load_1, [233_0_descend_Return, 289_0_descend_Return, 74_0_rec_Return, 191_0_rec_Return]=233_0_descend_Return}
Finished conversion. Obtained 13 rules for P and 8 rules for R. System has predefined symbols.
P rules:
99_0_REC_GE(x0, x1) → COND_99_0_REC_GE(<(x1, 100), x0, x1)
COND_99_0_REC_GE(TRUE, x0, x1) → 123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1), x0, x1)
123_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0, x1) → 295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1), x0, x1)
295_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0, x1) → 324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1), x0, x1)
324_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0, x1) → 341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1), x0, x1)
341_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0, x1) → 358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1), x0, x1)
358_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0, x1) → 375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1), x0, x1)
375_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0, x1) → 395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1), x0, x1)
395_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0, x1) → 410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1), x0, x1)
410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0, x1) → COND_410_1_TEST_INVOKEMETHOD(>(x1, 0), 233_0_descend_Return, x0, x1)
COND_410_1_TEST_INVOKEMETHOD(TRUE, 233_0_descend_Return, x0, x1) → 99_0_REC_GE(x0, +(x1, 1))
99_0_REC_GE(x0, x1) → COND_99_0_REC_GE1(&&(>(x1, 99), >(x0, 1)), x0, x1)
COND_99_0_REC_GE1(TRUE, x0, x1) → 99_0_REC_GE(-(x0, 1), -(x0, 1))
R rules:
123_0_descend_Load(x0) → 227_0_descend_LE(x0)
227_0_descend_LE(0) → 233_0_descend_Return
227_0_descend_LE(x0) → Cond_227_0_descend_LE(>(x0, 0), x0)
Cond_227_0_descend_LE(TRUE, x0) → 250_1_descend_InvokeMethod(227_0_descend_LE(-(x0, 1)), -(x0, 1))
250_1_descend_InvokeMethod(233_0_descend_Return, 0) → 233_0_descend_Return
250_1_descend_InvokeMethod(233_0_descend_Return, x0) → 233_0_descend_Return
121_1_rec_InvokeMethod(233_0_descend_Return, 0) → 233_0_descend_Return
121_1_rec_InvokeMethod(233_0_descend_Return, x0) → 233_0_descend_Return
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(0) -> (1), if (x1[0] < 100 ∧x0[0] →* x0[1]∧x1[0] →* x1[1])
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
(9) -> (10), if (x1[9] > 0 ∧x0[9] →* x0[10]∧x1[9] →* x1[10])
(10) -> (0), if (x0[10] →* x0[0]∧x1[10] + 1 →* x1[0])
(10) -> (11), if (x0[10] →* x0[11]∧x1[10] + 1 →* x1[11])
(11) -> (12), if (x1[11] > 99 && x0[11] > 1 ∧x0[11] →* x0[12]∧x1[11] →* x1[12])
(12) -> (0), if (x0[12] - 1 →* x0[0]∧x0[12] - 1 →* x1[0])
(12) -> (11), if (x0[12] - 1 →* x0[11]∧x0[12] - 1 →* x1[11])
(1) (<(x1[0], 100)=TRUE∧x0[0]=x0[1]∧x1[0]=x1[1] ⇒ 99_0_REC_GE(x0[0], x1[0])≥NonInfC∧99_0_REC_GE(x0[0], x1[0])≥COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])∧(UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥))
(2) (<(x1[0], 100)=TRUE ⇒ 99_0_REC_GE(x0[0], x1[0])≥NonInfC∧99_0_REC_GE(x0[0], x1[0])≥COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])∧(UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥))
(3) ([99] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_39 + (-1)Bound*bni_39] + [bni_39]x0[0] ≥ 0∧[(-1)bso_40] ≥ 0)
(4) ([99] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_39 + (-1)Bound*bni_39] + [bni_39]x0[0] ≥ 0∧[(-1)bso_40] ≥ 0)
(5) ([99] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_39 + (-1)Bound*bni_39] + [bni_39]x0[0] ≥ 0∧[(-1)bso_40] ≥ 0)
(6) ([99] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[bni_39] = 0∧[(-1)bni_39 + (-1)Bound*bni_39] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
(7) ([99] + [-1]x1[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[bni_39] = 0∧[(-1)bni_39 + (-1)Bound*bni_39] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
(8) ([99] + x1[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[bni_39] = 0∧[(-1)bni_39 + (-1)Bound*bni_39] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
(9) (COND_99_0_REC_GE(TRUE, x0[1], x1[1])≥NonInfC∧COND_99_0_REC_GE(TRUE, x0[1], x1[1])≥123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])∧(UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥))
(10) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_41] = 0∧[(-1)bso_42] ≥ 0)
(11) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_41] = 0∧[(-1)bso_42] ≥ 0)
(12) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_41] = 0∧[(-1)bso_42] ≥ 0)
(13) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_41] = 0∧0 = 0∧0 = 0∧[(-1)bso_42] ≥ 0)
(14) (123_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[2], x1[2])≥NonInfC∧123_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[2], x1[2])≥295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])∧(UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥))
(15) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_43] = 0∧[(-1)bso_44] ≥ 0)
(16) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_43] = 0∧[(-1)bso_44] ≥ 0)
(17) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_43] = 0∧[(-1)bso_44] ≥ 0)
(18) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_43] = 0∧0 = 0∧0 = 0∧[(-1)bso_44] ≥ 0)
(19) (295_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[3], x1[3])≥NonInfC∧295_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[3], x1[3])≥324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])∧(UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥))
(20) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_45] = 0∧[(-1)bso_46] ≥ 0)
(21) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_45] = 0∧[(-1)bso_46] ≥ 0)
(22) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_45] = 0∧[(-1)bso_46] ≥ 0)
(23) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_45] = 0∧0 = 0∧0 = 0∧[(-1)bso_46] ≥ 0)
(24) (324_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[4], x1[4])≥NonInfC∧324_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[4], x1[4])≥341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])∧(UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥))
(25) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_47] = 0∧[(-1)bso_48] ≥ 0)
(26) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_47] = 0∧[(-1)bso_48] ≥ 0)
(27) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_47] = 0∧[(-1)bso_48] ≥ 0)
(28) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_47] = 0∧0 = 0∧0 = 0∧[(-1)bso_48] ≥ 0)
(29) (341_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[5], x1[5])≥NonInfC∧341_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[5], x1[5])≥358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])∧(UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥))
(30) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_49] = 0∧[(-1)bso_50] ≥ 0)
(31) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_49] = 0∧[(-1)bso_50] ≥ 0)
(32) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_49] = 0∧[(-1)bso_50] ≥ 0)
(33) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_49] = 0∧0 = 0∧0 = 0∧[(-1)bso_50] ≥ 0)
(34) (358_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[6], x1[6])≥NonInfC∧358_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[6], x1[6])≥375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])∧(UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥))
(35) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_51] = 0∧[(-1)bso_52] ≥ 0)
(36) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_51] = 0∧[(-1)bso_52] ≥ 0)
(37) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_51] = 0∧[(-1)bso_52] ≥ 0)
(38) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_51] = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
(39) (375_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[7], x1[7])≥NonInfC∧375_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[7], x1[7])≥395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])∧(UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥))
(40) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_53] = 0∧[(-1)bso_54] ≥ 0)
(41) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_53] = 0∧[(-1)bso_54] ≥ 0)
(42) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_53] = 0∧[(-1)bso_54] ≥ 0)
(43) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_53] = 0∧0 = 0∧0 = 0∧[(-1)bso_54] ≥ 0)
(44) (395_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[8], x1[8])≥NonInfC∧395_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[8], x1[8])≥410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])∧(UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥))
(45) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_55] = 0∧[(-1)bso_56] ≥ 0)
(46) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_55] = 0∧[(-1)bso_56] ≥ 0)
(47) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_55] = 0∧[(-1)bso_56] ≥ 0)
(48) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_55] = 0∧0 = 0∧0 = 0∧[(-1)bso_56] ≥ 0)
(49) (>(x1[9], 0)=TRUE∧x0[9]=x0[10]∧x1[9]=x1[10] ⇒ 410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥NonInfC∧410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])∧(UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥))
(50) (>(x1[9], 0)=TRUE ⇒ 410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥NonInfC∧410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])∧(UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥))
(51) (x1[9] + [-1] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]x0[9] ≥ 0∧[(-1)bso_58] ≥ 0)
(52) (x1[9] + [-1] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]x0[9] ≥ 0∧[(-1)bso_58] ≥ 0)
(53) (x1[9] + [-1] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]x0[9] ≥ 0∧[(-1)bso_58] ≥ 0)
(54) (x1[9] + [-1] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[bni_57] = 0∧[(-1)bni_57 + (-1)Bound*bni_57] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
(55) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[bni_57] = 0∧[(-1)bni_57 + (-1)Bound*bni_57] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
(56) (COND_410_1_TEST_INVOKEMETHOD(TRUE, 233_0_descend_Return, x0[10], x1[10])≥NonInfC∧COND_410_1_TEST_INVOKEMETHOD(TRUE, 233_0_descend_Return, x0[10], x1[10])≥99_0_REC_GE(x0[10], +(x1[10], 1))∧(UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥))
(57) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_59] = 0∧[(-1)bso_60] ≥ 0)
(58) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_59] = 0∧[(-1)bso_60] ≥ 0)
(59) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_59] = 0∧[(-1)bso_60] ≥ 0)
(60) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_59] = 0∧0 = 0∧0 = 0∧[(-1)bso_60] ≥ 0)
(61) (&&(>(x1[11], 99), >(x0[11], 1))=TRUE∧x0[11]=x0[12]∧x1[11]=x1[12] ⇒ 99_0_REC_GE(x0[11], x1[11])≥NonInfC∧99_0_REC_GE(x0[11], x1[11])≥COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])∧(UIncreasing(COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])), ≥))
(62) (>(x1[11], 99)=TRUE∧>(x0[11], 1)=TRUE ⇒ 99_0_REC_GE(x0[11], x1[11])≥NonInfC∧99_0_REC_GE(x0[11], x1[11])≥COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])∧(UIncreasing(COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])), ≥))
(63) (x1[11] + [-100] ≥ 0∧x0[11] + [-2] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])), ≥)∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]x0[11] ≥ 0∧[(-1)bso_62] ≥ 0)
(64) (x1[11] + [-100] ≥ 0∧x0[11] + [-2] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])), ≥)∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]x0[11] ≥ 0∧[(-1)bso_62] ≥ 0)
(65) (x1[11] + [-100] ≥ 0∧x0[11] + [-2] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])), ≥)∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]x0[11] ≥ 0∧[(-1)bso_62] ≥ 0)
(66) (x1[11] ≥ 0∧x0[11] + [-2] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])), ≥)∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]x0[11] ≥ 0∧[(-1)bso_62] ≥ 0)
(67) (x1[11] ≥ 0∧x0[11] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])), ≥)∧[bni_61 + (-1)Bound*bni_61] + [bni_61]x0[11] ≥ 0∧[(-1)bso_62] ≥ 0)
(68) (COND_99_0_REC_GE1(TRUE, x0[12], x1[12])≥NonInfC∧COND_99_0_REC_GE1(TRUE, x0[12], x1[12])≥99_0_REC_GE(-(x0[12], 1), -(x0[12], 1))∧(UIncreasing(99_0_REC_GE(-(x0[12], 1), -(x0[12], 1))), ≥))
(69) ((UIncreasing(99_0_REC_GE(-(x0[12], 1), -(x0[12], 1))), ≥)∧[bni_63] = 0∧[1 + (-1)bso_64] ≥ 0)
(70) ((UIncreasing(99_0_REC_GE(-(x0[12], 1), -(x0[12], 1))), ≥)∧[bni_63] = 0∧[1 + (-1)bso_64] ≥ 0)
(71) ((UIncreasing(99_0_REC_GE(-(x0[12], 1), -(x0[12], 1))), ≥)∧[bni_63] = 0∧[1 + (-1)bso_64] ≥ 0)
(72) ((UIncreasing(99_0_REC_GE(-(x0[12], 1), -(x0[12], 1))), ≥)∧[bni_63] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_64] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(123_0_descend_Load(x1)) = [-1] + [-1]x1
POL(227_0_descend_LE(x1)) = [-1] + x1
POL(0) = 0
POL(233_0_descend_Return) = [-1]
POL(Cond_227_0_descend_LE(x1, x2)) = x2
POL(>(x1, x2)) = [-1]
POL(250_1_descend_InvokeMethod(x1, x2)) = [-1] + [2]x2 + x1
POL(-(x1, x2)) = x1 + [-1]x2
POL(1) = [1]
POL(121_1_rec_InvokeMethod(x1, x2)) = [-1]
POL(99_0_REC_GE(x1, x2)) = [-1] + x1
POL(COND_99_0_REC_GE(x1, x2, x3)) = [-1] + x2
POL(<(x1, x2)) = [-1]
POL(100) = [100]
POL(123_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2
POL(295_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2
POL(324_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2
POL(341_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2
POL(358_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2
POL(375_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2
POL(395_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2
POL(410_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2
POL(COND_410_1_TEST_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x3
POL(+(x1, x2)) = x1 + x2
POL(COND_99_0_REC_GE1(x1, x2, x3)) = [-1] + x2
POL(&&(x1, x2)) = [-1]
POL(99) = [99]
COND_99_0_REC_GE1(TRUE, x0[12], x1[12]) → 99_0_REC_GE(-(x0[12], 1), -(x0[12], 1))
99_0_REC_GE(x0[11], x1[11]) → COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])
99_0_REC_GE(x0[0], x1[0]) → COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])
COND_99_0_REC_GE(TRUE, x0[1], x1[1]) → 123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])
123_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[2], x1[2]) → 295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])
295_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[3], x1[3]) → 324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])
324_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[4], x1[4]) → 341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])
341_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[5], x1[5]) → 358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])
358_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[6], x1[6]) → 375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])
375_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[7], x1[7]) → 395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])
395_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[8], x1[8]) → 410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])
410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9]) → COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])
COND_410_1_TEST_INVOKEMETHOD(TRUE, 233_0_descend_Return, x0[10], x1[10]) → 99_0_REC_GE(x0[10], +(x1[10], 1))
99_0_REC_GE(x0[11], x1[11]) → COND_99_0_REC_GE1(&&(>(x1[11], 99), >(x0[11], 1)), x0[11], x1[11])
227_0_descend_LE(0)1 → 233_0_descend_Return1
Cond_227_0_descend_LE(>(x0, 0), x0)1 → 227_0_descend_LE(x0)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(10) -> (0), if (x0[10] →* x0[0]∧x1[10] + 1 →* x1[0])
(0) -> (1), if (x1[0] < 100 ∧x0[0] →* x0[1]∧x1[0] →* x1[1])
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
(9) -> (10), if (x1[9] > 0 ∧x0[9] →* x0[10]∧x1[9] →* x1[10])
(10) -> (11), if (x0[10] →* x0[11]∧x1[10] + 1 →* x1[11])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(10) -> (0), if (x0[10] →* x0[0]∧x1[10] + 1 →* x1[0])
(0) -> (1), if (x1[0] < 100 ∧x0[0] →* x0[1]∧x1[0] →* x1[1])
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
(9) -> (10), if (x1[9] > 0 ∧x0[9] →* x0[10]∧x1[9] →* x1[10])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(10) -> (0), if (x0[10] →* x0[0]∧x1[10] + 1 →* x1[0])
(0) -> (1), if (x1[0] < 100 ∧x0[0] →* x0[1]∧x1[0] →* x1[1])
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
(9) -> (10), if (x1[9] > 0 ∧x0[9] →* x0[10]∧x1[9] →* x1[10])
(1) (COND_410_1_TEST_INVOKEMETHOD(TRUE, 233_0_descend_Return, x0[10], x1[10])≥NonInfC∧COND_410_1_TEST_INVOKEMETHOD(TRUE, 233_0_descend_Return, x0[10], x1[10])≥99_0_REC_GE(x0[10], +(x1[10], 1))∧(UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥))
(2) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_21] = 0∧[1 + (-1)bso_22] ≥ 0)
(3) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_21] = 0∧[1 + (-1)bso_22] ≥ 0)
(4) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_21] = 0∧[1 + (-1)bso_22] ≥ 0)
(5) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_21] = 0∧0 = 0∧[1 + (-1)bso_22] ≥ 0)
(6) (>(x1[9], 0)=TRUE∧x0[9]=x0[10]∧x1[9]=x1[10] ⇒ 410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥NonInfC∧410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])∧(UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥))
(7) (>(x1[9], 0)=TRUE ⇒ 410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥NonInfC∧410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])∧(UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥))
(8) (x1[9] + [-1] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-1)bni_23 + (-1)Bound*bni_23] + [(-1)bni_23]x1[9] ≥ 0∧[(-1)bso_24] ≥ 0)
(9) (x1[9] + [-1] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-1)bni_23 + (-1)Bound*bni_23] + [(-1)bni_23]x1[9] ≥ 0∧[(-1)bso_24] ≥ 0)
(10) (x1[9] + [-1] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-1)bni_23 + (-1)Bound*bni_23] + [(-1)bni_23]x1[9] ≥ 0∧[(-1)bso_24] ≥ 0)
(11) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-2)bni_23 + (-1)Bound*bni_23] + [(-1)bni_23]x1[9] ≥ 0∧[(-1)bso_24] ≥ 0)
(12) (395_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[8], x1[8])≥NonInfC∧395_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[8], x1[8])≥410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])∧(UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥))
(13) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_25] = 0∧[(-1)bso_26] ≥ 0)
(14) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_25] = 0∧[(-1)bso_26] ≥ 0)
(15) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_25] = 0∧[(-1)bso_26] ≥ 0)
(16) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_25] = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
(17) (375_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[7], x1[7])≥NonInfC∧375_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[7], x1[7])≥395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])∧(UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥))
(18) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_27] = 0∧[(-1)bso_28] ≥ 0)
(19) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_27] = 0∧[(-1)bso_28] ≥ 0)
(20) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_27] = 0∧[(-1)bso_28] ≥ 0)
(21) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_27] = 0∧0 = 0∧[(-1)bso_28] ≥ 0)
(22) (358_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[6], x1[6])≥NonInfC∧358_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[6], x1[6])≥375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])∧(UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥))
(23) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_29] = 0∧[(-1)bso_30] ≥ 0)
(24) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_29] = 0∧[(-1)bso_30] ≥ 0)
(25) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_29] = 0∧[(-1)bso_30] ≥ 0)
(26) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_29] = 0∧0 = 0∧[(-1)bso_30] ≥ 0)
(27) (341_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[5], x1[5])≥NonInfC∧341_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[5], x1[5])≥358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])∧(UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥))
(28) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_31] = 0∧[(-1)bso_32] ≥ 0)
(29) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_31] = 0∧[(-1)bso_32] ≥ 0)
(30) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_31] = 0∧[(-1)bso_32] ≥ 0)
(31) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_31] = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
(32) (324_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[4], x1[4])≥NonInfC∧324_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[4], x1[4])≥341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])∧(UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥))
(33) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_33] = 0∧[(-1)bso_34] ≥ 0)
(34) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_33] = 0∧[(-1)bso_34] ≥ 0)
(35) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_33] = 0∧[(-1)bso_34] ≥ 0)
(36) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_33] = 0∧0 = 0∧[(-1)bso_34] ≥ 0)
(37) (295_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[3], x1[3])≥NonInfC∧295_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[3], x1[3])≥324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])∧(UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥))
(38) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_35] = 0∧[(-1)bso_36] ≥ 0)
(39) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_35] = 0∧[(-1)bso_36] ≥ 0)
(40) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_35] = 0∧[(-1)bso_36] ≥ 0)
(41) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_35] = 0∧0 = 0∧[(-1)bso_36] ≥ 0)
(42) (123_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[2], x1[2])≥NonInfC∧123_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[2], x1[2])≥295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])∧(UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥))
(43) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_37] = 0∧[(-1)bso_38] ≥ 0)
(44) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_37] = 0∧[(-1)bso_38] ≥ 0)
(45) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_37] = 0∧[(-1)bso_38] ≥ 0)
(46) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_37] = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
(47) (COND_99_0_REC_GE(TRUE, x0[1], x1[1])≥NonInfC∧COND_99_0_REC_GE(TRUE, x0[1], x1[1])≥123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])∧(UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥))
(48) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_39] = 0∧[(-1)bso_40] ≥ 0)
(49) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_39] = 0∧[(-1)bso_40] ≥ 0)
(50) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_39] = 0∧[(-1)bso_40] ≥ 0)
(51) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_39] = 0∧0 = 0∧[(-1)bso_40] ≥ 0)
(52) (<(x1[0], 100)=TRUE∧x0[0]=x0[1]∧x1[0]=x1[1] ⇒ 99_0_REC_GE(x0[0], x1[0])≥NonInfC∧99_0_REC_GE(x0[0], x1[0])≥COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])∧(UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥))
(53) (<(x1[0], 100)=TRUE ⇒ 99_0_REC_GE(x0[0], x1[0])≥NonInfC∧99_0_REC_GE(x0[0], x1[0])≥COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])∧(UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥))
(54) ([99] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [(-1)bni_41]x1[0] ≥ 0∧[(-1)bso_42] ≥ 0)
(55) ([99] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [(-1)bni_41]x1[0] ≥ 0∧[(-1)bso_42] ≥ 0)
(56) ([99] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [(-1)bni_41]x1[0] ≥ 0∧[(-1)bso_42] ≥ 0)
(57) ([99] + x1[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [bni_41]x1[0] ≥ 0∧[(-1)bso_42] ≥ 0)
(58) ([99] + [-1]x1[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [(-1)bni_41]x1[0] ≥ 0∧[(-1)bso_42] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(123_0_descend_Load(x1)) = [-1] + [-1]x1
POL(227_0_descend_LE(x1)) = [-1] + [-1]x1
POL(0) = 0
POL(233_0_descend_Return) = [2]
POL(Cond_227_0_descend_LE(x1, x2)) = [-1] + [-1]x2
POL(>(x1, x2)) = [-1]
POL(250_1_descend_InvokeMethod(x1, x2)) = [-1] + [-1]x2 + [-1]x1
POL(-(x1, x2)) = x1 + [-1]x2
POL(1) = [1]
POL(COND_410_1_TEST_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x4
POL(99_0_REC_GE(x1, x2)) = [-1] + [-1]x2
POL(+(x1, x2)) = x1 + x2
POL(410_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(395_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(375_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(358_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(341_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(324_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(295_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(123_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(COND_99_0_REC_GE(x1, x2, x3)) = [-1] + [-1]x3
POL(<(x1, x2)) = [-1]
POL(100) = [100]
COND_410_1_TEST_INVOKEMETHOD(TRUE, 233_0_descend_Return, x0[10], x1[10]) → 99_0_REC_GE(x0[10], +(x1[10], 1))
99_0_REC_GE(x0[0], x1[0]) → COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])
410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9]) → COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])
395_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[8], x1[8]) → 410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])
375_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[7], x1[7]) → 395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])
358_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[6], x1[6]) → 375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])
341_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[5], x1[5]) → 358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])
324_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[4], x1[4]) → 341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])
295_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[3], x1[3]) → 324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])
123_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[2], x1[2]) → 295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])
COND_99_0_REC_GE(TRUE, x0[1], x1[1]) → 123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])
99_0_REC_GE(x0[0], x1[0]) → COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])
123_0_descend_Load(x0)1 ↔ 227_0_descend_LE(x0)1
233_0_descend_Return1 → 227_0_descend_LE(0)1
227_0_descend_LE(x0)1 ↔ Cond_227_0_descend_LE(>(x0, 0), x0)1
233_0_descend_Return1 → 250_1_descend_InvokeMethod(233_0_descend_Return, 0)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(0) -> (1), if (x1[0] < 100 ∧x0[0] →* x0[1]∧x1[0] →* x1[1])
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
(9) -> (10), if (x1[9] > 0 ∧x0[9] →* x0[10]∧x1[9] →* x1[10])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(10) -> (0), if (x0[10] →* x0[0]∧x1[10] + 1 →* x1[0])
(12) -> (0), if (x0[12] - 1 →* x0[0]∧x0[12] - 1 →* x1[0])
(0) -> (1), if (x1[0] < 100 ∧x0[0] →* x0[1]∧x1[0] →* x1[1])
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
(9) -> (10), if (x1[9] > 0 ∧x0[9] →* x0[10]∧x1[9] →* x1[10])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(10) -> (0), if (x0[10] →* x0[0]∧x1[10] + 1 →* x1[0])
(0) -> (1), if (x1[0] < 100 ∧x0[0] →* x0[1]∧x1[0] →* x1[1])
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
(9) -> (10), if (x1[9] > 0 ∧x0[9] →* x0[10]∧x1[9] →* x1[10])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(10) -> (0), if (x0[10] →* x0[0]∧x1[10] + 1 →* x1[0])
(0) -> (1), if (x1[0] < 100 ∧x0[0] →* x0[1]∧x1[0] →* x1[1])
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
(9) -> (10), if (x1[9] > 0 ∧x0[9] →* x0[10]∧x1[9] →* x1[10])
(1) (COND_410_1_TEST_INVOKEMETHOD(TRUE, 233_0_descend_Return, x0[10], x1[10])≥NonInfC∧COND_410_1_TEST_INVOKEMETHOD(TRUE, 233_0_descend_Return, x0[10], x1[10])≥99_0_REC_GE(x0[10], +(x1[10], 1))∧(UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥))
(2) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_22] = 0∧[1 + (-1)bso_23] ≥ 0)
(3) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_22] = 0∧[1 + (-1)bso_23] ≥ 0)
(4) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_22] = 0∧[1 + (-1)bso_23] ≥ 0)
(5) ((UIncreasing(99_0_REC_GE(x0[10], +(x1[10], 1))), ≥)∧[bni_22] = 0∧0 = 0∧[1 + (-1)bso_23] ≥ 0)
(6) (>(x1[9], 0)=TRUE∧x0[9]=x0[10]∧x1[9]=x1[10] ⇒ 410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥NonInfC∧410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])∧(UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥))
(7) (>(x1[9], 0)=TRUE ⇒ 410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥NonInfC∧410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9])≥COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])∧(UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥))
(8) (x1[9] + [-1] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-1)bni_24 + (-1)Bound*bni_24] + [(-1)bni_24]x1[9] ≥ 0∧[(-1)bso_25] ≥ 0)
(9) (x1[9] + [-1] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-1)bni_24 + (-1)Bound*bni_24] + [(-1)bni_24]x1[9] ≥ 0∧[(-1)bso_25] ≥ 0)
(10) (x1[9] + [-1] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-1)bni_24 + (-1)Bound*bni_24] + [(-1)bni_24]x1[9] ≥ 0∧[(-1)bso_25] ≥ 0)
(11) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])), ≥)∧[(-2)bni_24 + (-1)Bound*bni_24] + [(-1)bni_24]x1[9] ≥ 0∧[(-1)bso_25] ≥ 0)
(12) (395_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[8], x1[8])≥NonInfC∧395_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[8], x1[8])≥410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])∧(UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥))
(13) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_26] = 0∧[(-1)bso_27] ≥ 0)
(14) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_26] = 0∧[(-1)bso_27] ≥ 0)
(15) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_26] = 0∧[(-1)bso_27] ≥ 0)
(16) ((UIncreasing(410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])), ≥)∧[bni_26] = 0∧0 = 0∧[(-1)bso_27] ≥ 0)
(17) (375_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[7], x1[7])≥NonInfC∧375_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[7], x1[7])≥395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])∧(UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥))
(18) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_28] = 0∧[(-1)bso_29] ≥ 0)
(19) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_28] = 0∧[(-1)bso_29] ≥ 0)
(20) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_28] = 0∧[(-1)bso_29] ≥ 0)
(21) ((UIncreasing(395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])), ≥)∧[bni_28] = 0∧0 = 0∧[(-1)bso_29] ≥ 0)
(22) (358_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[6], x1[6])≥NonInfC∧358_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[6], x1[6])≥375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])∧(UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥))
(23) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_30] = 0∧[(-1)bso_31] ≥ 0)
(24) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_30] = 0∧[(-1)bso_31] ≥ 0)
(25) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_30] = 0∧[(-1)bso_31] ≥ 0)
(26) ((UIncreasing(375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])), ≥)∧[bni_30] = 0∧0 = 0∧[(-1)bso_31] ≥ 0)
(27) (341_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[5], x1[5])≥NonInfC∧341_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[5], x1[5])≥358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])∧(UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥))
(28) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(29) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(30) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(31) ((UIncreasing(358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])), ≥)∧[bni_32] = 0∧0 = 0∧[(-1)bso_33] ≥ 0)
(32) (324_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[4], x1[4])≥NonInfC∧324_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[4], x1[4])≥341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])∧(UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥))
(33) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_34] = 0∧[(-1)bso_35] ≥ 0)
(34) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_34] = 0∧[(-1)bso_35] ≥ 0)
(35) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_34] = 0∧[(-1)bso_35] ≥ 0)
(36) ((UIncreasing(341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])), ≥)∧[bni_34] = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
(37) (295_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[3], x1[3])≥NonInfC∧295_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[3], x1[3])≥324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])∧(UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥))
(38) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_36] = 0∧[(-1)bso_37] ≥ 0)
(39) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_36] = 0∧[(-1)bso_37] ≥ 0)
(40) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_36] = 0∧[(-1)bso_37] ≥ 0)
(41) ((UIncreasing(324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])), ≥)∧[bni_36] = 0∧0 = 0∧[(-1)bso_37] ≥ 0)
(42) (123_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[2], x1[2])≥NonInfC∧123_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[2], x1[2])≥295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])∧(UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥))
(43) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_38] = 0∧[(-1)bso_39] ≥ 0)
(44) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_38] = 0∧[(-1)bso_39] ≥ 0)
(45) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_38] = 0∧[(-1)bso_39] ≥ 0)
(46) ((UIncreasing(295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])), ≥)∧[bni_38] = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
(47) (COND_99_0_REC_GE(TRUE, x0[1], x1[1])≥NonInfC∧COND_99_0_REC_GE(TRUE, x0[1], x1[1])≥123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])∧(UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥))
(48) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_40] = 0∧[(-1)bso_41] ≥ 0)
(49) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_40] = 0∧[(-1)bso_41] ≥ 0)
(50) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_40] = 0∧[(-1)bso_41] ≥ 0)
(51) ((UIncreasing(123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])), ≥)∧[bni_40] = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
(52) (<(x1[0], 100)=TRUE∧x0[0]=x0[1]∧x1[0]=x1[1] ⇒ 99_0_REC_GE(x0[0], x1[0])≥NonInfC∧99_0_REC_GE(x0[0], x1[0])≥COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])∧(UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥))
(53) (<(x1[0], 100)=TRUE ⇒ 99_0_REC_GE(x0[0], x1[0])≥NonInfC∧99_0_REC_GE(x0[0], x1[0])≥COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])∧(UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥))
(54) ([99] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x1[0] ≥ 0∧[(-1)bso_43] ≥ 0)
(55) ([99] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x1[0] ≥ 0∧[(-1)bso_43] ≥ 0)
(56) ([99] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x1[0] ≥ 0∧[(-1)bso_43] ≥ 0)
(57) ([99] + x1[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_42 + (-1)Bound*bni_42] + [bni_42]x1[0] ≥ 0∧[(-1)bso_43] ≥ 0)
(58) ([99] + [-1]x1[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])), ≥)∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x1[0] ≥ 0∧[(-1)bso_43] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(123_0_descend_Load(x1)) = [-1]
POL(227_0_descend_LE(x1)) = x1
POL(0) = 0
POL(233_0_descend_Return) = [-1]
POL(Cond_227_0_descend_LE(x1, x2)) = [1] + [-1]x2
POL(>(x1, x2)) = [-1]
POL(250_1_descend_InvokeMethod(x1, x2)) = [-1] + [-1]x2 + [-1]x1
POL(-(x1, x2)) = x1 + [-1]x2
POL(1) = [1]
POL(COND_410_1_TEST_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x4
POL(99_0_REC_GE(x1, x2)) = [-1] + [-1]x2
POL(+(x1, x2)) = x1 + x2
POL(410_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(395_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(375_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(358_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(341_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(324_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(295_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(123_1_TEST_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3
POL(COND_99_0_REC_GE(x1, x2, x3)) = [-1] + [-1]x3
POL(<(x1, x2)) = 0
POL(100) = [100]
COND_410_1_TEST_INVOKEMETHOD(TRUE, 233_0_descend_Return, x0[10], x1[10]) → 99_0_REC_GE(x0[10], +(x1[10], 1))
99_0_REC_GE(x0[0], x1[0]) → COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])
410_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[9], x1[9]) → COND_410_1_TEST_INVOKEMETHOD(>(x1[9], 0), 233_0_descend_Return, x0[9], x1[9])
395_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[8], x1[8]) → 410_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[8]), x0[8], x1[8])
375_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[7], x1[7]) → 395_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[7]), x0[7], x1[7])
358_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[6], x1[6]) → 375_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[6]), x0[6], x1[6])
341_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[5], x1[5]) → 358_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[5]), x0[5], x1[5])
324_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[4], x1[4]) → 341_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[4]), x0[4], x1[4])
295_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[3], x1[3]) → 324_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[3]), x0[3], x1[3])
123_1_TEST_INVOKEMETHOD(233_0_descend_Return, x0[2], x1[2]) → 295_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[2]), x0[2], x1[2])
COND_99_0_REC_GE(TRUE, x0[1], x1[1]) → 123_1_TEST_INVOKEMETHOD(123_0_descend_Load(x1[1]), x0[1], x1[1])
99_0_REC_GE(x0[0], x1[0]) → COND_99_0_REC_GE(<(x1[0], 100), x0[0], x1[0])
227_0_descend_LE(0)1 → 233_0_descend_Return1
250_1_descend_InvokeMethod(233_0_descend_Return, 0)1 → 233_0_descend_Return1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(0) -> (1), if (x1[0] < 100 ∧x0[0] →* x0[1]∧x1[0] →* x1[1])
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
(1) -> (2), if (123_0_descend_Load(x1[1]) →* 233_0_descend_Return∧x0[1] →* x0[2]∧x1[1] →* x1[2])
(2) -> (3), if (123_0_descend_Load(x1[2]) →* 233_0_descend_Return∧x0[2] →* x0[3]∧x1[2] →* x1[3])
(3) -> (4), if (123_0_descend_Load(x1[3]) →* 233_0_descend_Return∧x0[3] →* x0[4]∧x1[3] →* x1[4])
(4) -> (5), if (123_0_descend_Load(x1[4]) →* 233_0_descend_Return∧x0[4] →* x0[5]∧x1[4] →* x1[5])
(5) -> (6), if (123_0_descend_Load(x1[5]) →* 233_0_descend_Return∧x0[5] →* x0[6]∧x1[5] →* x1[6])
(6) -> (7), if (123_0_descend_Load(x1[6]) →* 233_0_descend_Return∧x0[6] →* x0[7]∧x1[6] →* x1[7])
(7) -> (8), if (123_0_descend_Load(x1[7]) →* 233_0_descend_Return∧x0[7] →* x0[8]∧x1[7] →* x1[8])
(8) -> (9), if (123_0_descend_Load(x1[8]) →* 233_0_descend_Return∧x0[8] →* x0[9]∧x1[8] →* x1[9])
(9) -> (10), if (x1[9] > 0 ∧x0[9] →* x0[10]∧x1[9] →* x1[10])