0 JBC
↳1 JBC2FIG (⇐)
↳2 FIGraph
↳3 FIGtoITRSProof (⇐)
↳4 AND
↳5 ITRS
↳6 GroundTermsRemoverProof (⇔)
↳7 ITRS
↳8 ITRStoIDPProof (⇔)
↳9 IDP
↳10 UsableRulesProof (⇔)
↳11 IDP
↳12 ItpfGraphProof (⇔)
↳13 IDP
↳14 IDPNonInfProof (⇐)
↳15 AND
↳16 IDP
↳17 IDPNonInfProof (⇐)
↳18 AND
↳19 IDP
↳20 IDependencyGraphProof (⇔)
↳21 TRUE
↳22 IDP
↳23 IDependencyGraphProof (⇔)
↳24 TRUE
↳25 IDP
↳26 IDependencyGraphProof (⇔)
↳27 IDP
↳28 IDPtoQDPProof (⇐)
↳29 QDP
↳30 QReductionProof (⇔)
↳31 QDP
↳32 QDPSizeChangeProof (⇔)
↳33 TRUE
↳34 ITRS
↳35 ITRStoIDPProof (⇔)
↳36 IDP
↳37 UsableRulesProof (⇔)
↳38 IDP
↳39 IDPNonInfProof (⇐)
↳40 AND
↳41 IDP
↳42 IDependencyGraphProof (⇔)
↳43 TRUE
↳44 IDP
↳45 IDependencyGraphProof (⇔)
↳46 TRUE
No human-readable program information known.
!= | ~ | 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 |
Cond_Load684(x1, x2, x3) → Cond_Load684(x1, x3)
!= | ~ | 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 |
!= | ~ | 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 ((i74[0] →* i74[1])∧(i74[0] > 0 →* TRUE))
(1) -> (2), if ((i74[1] + -1 →* i56[2])∧(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))) →* java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2]))))))
(2) -> (0), if ((java.lang.Object(AppE(o408Field0[2])) →* java.lang.Object(AppE(NULL)))∧(i56[2] →* i74[0]))
(2) -> (3), if ((java.lang.Object(AppE(o408Field0[2])) →* java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3])))))∧(i56[2] →* i56[3]))
(3) -> (0), if ((i56[3] →* i74[0])∧(java.lang.Object(AppE(o408Field0[3])) →* java.lang.Object(AppE(NULL))))
(3) -> (3), if ((java.lang.Object(AppE(o408Field0[3])) →* java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]')))))∧(i56[3] →* i56[3]'))
!= | ~ | 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 ((i74[0] →* i74[1])∧(i74[0] > 0 →* TRUE))
(1) -> (2), if ((i74[1] + -1 →* i56[2])∧(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))) →* java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2]))))))
(2) -> (0), if ((java.lang.Object(AppE(o408Field0[2])) →* java.lang.Object(AppE(NULL)))∧(i56[2] →* i74[0]))
(2) -> (3), if ((java.lang.Object(AppE(o408Field0[2])) →* java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3])))))∧(i56[2] →* i56[3]))
(3) -> (0), if ((i56[3] →* i74[0])∧(java.lang.Object(AppE(o408Field0[3])) →* java.lang.Object(AppE(NULL))))
(3) -> (3), if ((java.lang.Object(AppE(o408Field0[3])) →* java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]')))))∧(i56[3] →* i56[3]'))
!= | ~ | 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 ((i74[0] →* i74[1])∧(i74[0] > 0 →* TRUE))
(1) -> (2), if ((i74[1] + -1 →* i56[2])∧(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))) →* java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2]))))))
(2) -> (0), if (((o408Field0[2] →* NULL))∧(i56[2] →* i74[0]))
(2) -> (3), if (((o408Field0[2] →* java.lang.Object(AppE(o408Field0[3]))))∧(i56[2] →* i56[3]))
(3) -> (0), if ((i56[3] →* i74[0])∧((o408Field0[3] →* NULL)))
(3) -> (3), if (((o408Field0[3] →* java.lang.Object(AppE(o408Field0[3]'))))∧(i56[3] →* i56[3]'))
(1) (i74[0]=i74[1]∧>(i74[0], 0)=TRUE ⇒ LOAD684(java.lang.Object(AppE(NULL)), i74[0])≥NonInfC∧LOAD684(java.lang.Object(AppE(NULL)), i74[0])≥COND_LOAD684(>(i74[0], 0), i74[0])∧(UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥))
(2) (>(i74[0], 0)=TRUE ⇒ LOAD684(java.lang.Object(AppE(NULL)), i74[0])≥NonInfC∧LOAD684(java.lang.Object(AppE(NULL)), i74[0])≥COND_LOAD684(>(i74[0], 0), i74[0])∧(UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥))
(3) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥)∧[bni_15 + (-1)Bound*bni_15] + [(2)bni_15]i74[0] ≥ 0∧[(-1)bso_16] ≥ 0)
(4) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥)∧[bni_15 + (-1)Bound*bni_15] + [(2)bni_15]i74[0] ≥ 0∧[(-1)bso_16] ≥ 0)
(5) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥)∧[bni_15 + (-1)Bound*bni_15] + [(2)bni_15]i74[0] ≥ 0∧[(-1)bso_16] ≥ 0)
(6) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥)∧[(2)bni_15] ≥ 0∧[bni_15 + (-1)Bound*bni_15] ≥ 0∧0 ≥ 0∧[(-1)bso_16] ≥ 0)
(7) (i74[0]=i74[1]∧>(i74[0], 0)=TRUE∧+(i74[1], -1)=i56[2]∧java.lang.Object(AppE(java.lang.Object(AppE(NULL))))=java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2])))) ⇒ COND_LOAD684(TRUE, i74[1])≥NonInfC∧COND_LOAD684(TRUE, i74[1])≥LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))∧(UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥))
(8) (>(i74[0], 0)=TRUE ⇒ COND_LOAD684(TRUE, i74[0])≥NonInfC∧COND_LOAD684(TRUE, i74[0])≥LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[0], -1))∧(UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥))
(9) (0 ≥ 0 ⇒ (UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥)∧[bni_17 + (-1)Bound*bni_17] + [(2)bni_17]i74[0] ≥ 0∧[(-1)bso_18] + [2]i74[0] ≥ 0)
(10) (0 ≥ 0 ⇒ (UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥)∧[bni_17 + (-1)Bound*bni_17] + [(2)bni_17]i74[0] ≥ 0∧[(-1)bso_18] + [2]i74[0] ≥ 0)
(11) (0 ≥ 0 ⇒ (UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥)∧[bni_17 + (-1)Bound*bni_17] + [(2)bni_17]i74[0] ≥ 0∧[(-1)bso_18] + [2]i74[0] ≥ 0)
(12) (0 ≥ 0 ⇒ (UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥)∧[(2)bni_17] ≥ 0∧[bni_17 + (-1)Bound*bni_17] ≥ 0∧[(-1)bso_18] ≥ 0∧[1] ≥ 0)
(13) (+(i74[1], -1)=i56[2]∧java.lang.Object(AppE(java.lang.Object(AppE(NULL))))=java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2]))))∧o408Field0[2]=NULL∧i56[2]=i74[0] ⇒ LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2])))), i56[2])≥NonInfC∧LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2])))), i56[2])≥LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥))
(14) (LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))≥NonInfC∧LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))≥LOAD684(java.lang.Object(AppE(NULL)), +(i74[1], -1))∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥))
(15) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥)∧[(-1)bso_20] ≥ 0)
(16) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥)∧[(-1)bso_20] ≥ 0)
(17) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥)∧[(-1)bso_20] ≥ 0)
(18) (+(i74[1], -1)=i56[2]∧java.lang.Object(AppE(java.lang.Object(AppE(NULL))))=java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2]))))∧o408Field0[2]=java.lang.Object(AppE(o408Field0[3]))∧i56[2]=i56[3] ⇒ LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2])))), i56[2])≥NonInfC∧LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2])))), i56[2])≥LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥))
(19) (o408Field0[2]=java.lang.Object(AppE(o408Field0[3]))∧i56[2]=i56[3]∧i56[3]=i74[0]∧o408Field0[3]=NULL ⇒ LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3])))), i56[3])≥NonInfC∧LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3])))), i56[3])≥LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥))
(20) (LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), i56[2])≥NonInfC∧LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), i56[2])≥LOAD684(java.lang.Object(AppE(NULL)), i56[2])∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥))
(21) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥)∧[4 + (-1)bso_22] ≥ 0)
(22) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥)∧[4 + (-1)bso_22] ≥ 0)
(23) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥)∧[4 + (-1)bso_22] ≥ 0)
(24) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥)∧0 ≥ 0∧[4 + (-1)bso_22] ≥ 0)
(25) (o408Field0[3]=java.lang.Object(AppE(o408Field0[3]1))∧i56[3]=i56[3]1∧i56[3]1=i74[0]∧o408Field0[3]1=NULL ⇒ LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]1)))), i56[3]1)≥NonInfC∧LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]1)))), i56[3]1)≥LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥))
(26) (LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), i56[3])≥NonInfC∧LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), i56[3])≥LOAD684(java.lang.Object(AppE(NULL)), i56[3])∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥))
(27) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥)∧[4 + (-1)bso_22] ≥ 0)
(28) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥)∧[4 + (-1)bso_22] ≥ 0)
(29) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥)∧[4 + (-1)bso_22] ≥ 0)
(30) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥)∧0 ≥ 0∧[4 + (-1)bso_22] ≥ 0)
(31) (o408Field0[2]=java.lang.Object(AppE(o408Field0[3]))∧i56[2]=i56[3]∧o408Field0[3]=java.lang.Object(AppE(o408Field0[3]1))∧i56[3]=i56[3]1 ⇒ LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3])))), i56[3])≥NonInfC∧LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3])))), i56[3])≥LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥))
(32) (LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]1)))))), i56[2])≥NonInfC∧LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]1)))))), i56[2])≥LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]1)))), i56[2])∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥))
(33) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥)∧[16 + (-1)bso_22] + [48]o408Field0[3]1 ≥ 0)
(34) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥)∧[16 + (-1)bso_22] + [48]o408Field0[3]1 ≥ 0)
(35) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥)∧[16 + (-1)bso_22] + [48]o408Field0[3]1 ≥ 0)
(36) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])), ≥)∧0 ≥ 0∧[16 + (-1)bso_22] ≥ 0∧[1] ≥ 0)
(37) (o408Field0[3]=java.lang.Object(AppE(o408Field0[3]1))∧i56[3]=i56[3]1∧o408Field0[3]1=java.lang.Object(AppE(o408Field0[3]2))∧i56[3]1=i56[3]2 ⇒ LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]1)))), i56[3]1)≥NonInfC∧LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]1)))), i56[3]1)≥LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥))
(38) (LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]2)))))), i56[3])≥NonInfC∧LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]2)))))), i56[3])≥LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3]2)))), i56[3])∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥))
(39) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥)∧[16 + (-1)bso_22] + [48]o408Field0[3]2 ≥ 0)
(40) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥)∧[16 + (-1)bso_22] + [48]o408Field0[3]2 ≥ 0)
(41) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥)∧[16 + (-1)bso_22] + [48]o408Field0[3]2 ≥ 0)
(42) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[3]1)), i56[3]1)), ≥)∧0 ≥ 0∧[16 + (-1)bso_22] ≥ 0∧[1] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD684(x1, x2)) = [2]x2 + x1
POL(java.lang.Object(x1)) = [1] + [2]x1
POL(AppE(x1)) = [2]x1
POL(NULL) = 0
POL(COND_LOAD684(x1, x2)) = [1] + [2]x2
POL(>(x1, x2)) = 0
POL(0) = 0
POL(LOAD796(x1, x2)) = [1]
POL(+(x1, x2)) = 0
POL(-1) = 0
LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3])))), i56[3]) → LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])
LOAD684(java.lang.Object(AppE(NULL)), i74[0]) → COND_LOAD684(>(i74[0], 0), i74[0])
COND_LOAD684(TRUE, i74[1]) → LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))
LOAD684(java.lang.Object(AppE(NULL)), i74[0]) → COND_LOAD684(>(i74[0], 0), i74[0])
COND_LOAD684(TRUE, i74[1]) → LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))
LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2])))), i56[2]) → LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])
!= | ~ | 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
(2) -> (0), if (((o408Field0[2] →* NULL))∧(i56[2] →* i74[0]))
(0) -> (1), if ((i74[0] →* i74[1])∧(i74[0] > 0 →* TRUE))
(1) -> (2), if ((i74[1] + -1 →* i56[2])∧(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))) →* java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2]))))))
(1) (i74[0]=i74[1]∧>(i74[0], 0)=TRUE ⇒ LOAD684(java.lang.Object(AppE(NULL)), i74[0])≥NonInfC∧LOAD684(java.lang.Object(AppE(NULL)), i74[0])≥COND_LOAD684(>(i74[0], 0), i74[0])∧(UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥))
(2) (>(i74[0], 0)=TRUE ⇒ LOAD684(java.lang.Object(AppE(NULL)), i74[0])≥NonInfC∧LOAD684(java.lang.Object(AppE(NULL)), i74[0])≥COND_LOAD684(>(i74[0], 0), i74[0])∧(UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥))
(3) (i74[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥)∧[bni_18 + (-1)Bound*bni_18] + [bni_18]i74[0] ≥ 0∧[(-1)bso_19] ≥ 0)
(4) (i74[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥)∧[bni_18 + (-1)Bound*bni_18] + [bni_18]i74[0] ≥ 0∧[(-1)bso_19] ≥ 0)
(5) (i74[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥)∧[bni_18 + (-1)Bound*bni_18] + [bni_18]i74[0] ≥ 0∧[(-1)bso_19] ≥ 0)
(6) (i74[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD684(>(i74[0], 0), i74[0])), ≥)∧[(2)bni_18 + (-1)Bound*bni_18] + [bni_18]i74[0] ≥ 0∧[(-1)bso_19] ≥ 0)
(7) (i74[0]=i74[1]∧>(i74[0], 0)=TRUE∧+(i74[1], -1)=i56[2]∧java.lang.Object(AppE(java.lang.Object(AppE(NULL))))=java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2])))) ⇒ COND_LOAD684(TRUE, i74[1])≥NonInfC∧COND_LOAD684(TRUE, i74[1])≥LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))∧(UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥))
(8) (>(i74[0], 0)=TRUE ⇒ COND_LOAD684(TRUE, i74[0])≥NonInfC∧COND_LOAD684(TRUE, i74[0])≥LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[0], -1))∧(UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥))
(9) (i74[0] + [-1] ≥ 0 ⇒ (UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [bni_20]i74[0] ≥ 0∧[(-1)bso_21] ≥ 0)
(10) (i74[0] + [-1] ≥ 0 ⇒ (UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [bni_20]i74[0] ≥ 0∧[(-1)bso_21] ≥ 0)
(11) (i74[0] + [-1] ≥ 0 ⇒ (UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [bni_20]i74[0] ≥ 0∧[(-1)bso_21] ≥ 0)
(12) (i74[0] ≥ 0 ⇒ (UIncreasing(LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))), ≥)∧[(2)bni_20 + (-1)Bound*bni_20] + [bni_20]i74[0] ≥ 0∧[(-1)bso_21] ≥ 0)
(13) (+(i74[1], -1)=i56[2]∧java.lang.Object(AppE(java.lang.Object(AppE(NULL))))=java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2]))))∧o408Field0[2]=NULL∧i56[2]=i74[0] ⇒ LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2])))), i56[2])≥NonInfC∧LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2])))), i56[2])≥LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥))
(14) (LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))≥NonInfC∧LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))≥LOAD684(java.lang.Object(AppE(NULL)), +(i74[1], -1))∧(UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥))
(15) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥)∧[1 + (-1)bso_23] ≥ 0)
(16) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥)∧[1 + (-1)bso_23] ≥ 0)
(17) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥)∧[1 + (-1)bso_23] ≥ 0)
(18) ((UIncreasing(LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])), ≥)∧0 = 0∧[1 + (-1)bso_23] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD684(x1, x2)) = x2 + [-1]x1
POL(java.lang.Object(x1)) = [-1]
POL(AppE(x1)) = [1] + [-1]x1
POL(NULL) = [1]
POL(COND_LOAD684(x1, x2)) = [1] + x2
POL(>(x1, x2)) = [1]
POL(0) = 0
POL(LOAD796(x1, x2)) = [1] + x2 + [-1]x1
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[2])))), i56[2]) → LOAD684(java.lang.Object(AppE(o408Field0[2])), i56[2])
LOAD684(java.lang.Object(AppE(NULL)), i74[0]) → COND_LOAD684(>(i74[0], 0), i74[0])
COND_LOAD684(TRUE, i74[1]) → LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -1))
LOAD684(java.lang.Object(AppE(NULL)), i74[0]) → COND_LOAD684(>(i74[0], 0), i74[0])
COND_LOAD684(TRUE, i74[1]) → LOAD796(java.lang.Object(AppE(java.lang.Object(AppE(NULL)))), +(i74[1], -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 ((i74[0] →* i74[1])∧(i74[0] > 0 →* TRUE))
!= | ~ | 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 |
!= | ~ | 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 |
(2) -> (3), if (((o408Field0[2] →* java.lang.Object(AppE(o408Field0[3]))))∧(i56[2] →* i56[3]))
(3) -> (3), if (((o408Field0[3] →* java.lang.Object(AppE(o408Field0[3]'))))∧(i56[3] →* i56[3]'))
!= | ~ | 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 |
(3) -> (3), if (((o408Field0[3] →* java.lang.Object(AppE(o408Field0[3]'))))∧(i56[3] →* i56[3]'))
LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3])))), i56[3]) → LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])
Load684(java.lang.Object(AppE(NULL)), x0)
Cond_Load684(true, x0)
Load796(java.lang.Object(AppE(java.lang.Object(AppE(x0)))), x1)
Load684(java.lang.Object(AppE(java.lang.Object(AppE(x0)))), x1)
Load684(java.lang.Object(AppE(NULL)), x0)
Cond_Load684(true, x0)
Load796(java.lang.Object(AppE(java.lang.Object(AppE(x0)))), x1)
Load684(java.lang.Object(AppE(java.lang.Object(AppE(x0)))), x1)
LOAD684(java.lang.Object(AppE(java.lang.Object(AppE(o408Field0[3])))), i56[3]) → LOAD684(java.lang.Object(AppE(o408Field0[3])), i56[3])
From the DPs we obtained the following set of size-change graphs:
!= | ~ | 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 |
!= | ~ | 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 ((i36[0] →* i36[1])∧(i36[0] > 0 →* TRUE))
(1) -> (0), if ((i36[1] + -1 →* i36[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
(0) -> (1), if ((i36[0] →* i36[1])∧(i36[0] > 0 →* TRUE))
(1) -> (0), if ((i36[1] + -1 →* i36[0]))
(1) (i36[0]=i36[1]∧>(i36[0], 0)=TRUE ⇒ LOAD412(i36[0])≥NonInfC∧LOAD412(i36[0])≥COND_LOAD412(>(i36[0], 0), i36[0])∧(UIncreasing(COND_LOAD412(>(i36[0], 0), i36[0])), ≥))
(2) (>(i36[0], 0)=TRUE ⇒ LOAD412(i36[0])≥NonInfC∧LOAD412(i36[0])≥COND_LOAD412(>(i36[0], 0), i36[0])∧(UIncreasing(COND_LOAD412(>(i36[0], 0), i36[0])), ≥))
(3) (i36[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD412(>(i36[0], 0), i36[0])), ≥)∧[(-1)Bound*bni_8] + [(2)bni_8]i36[0] ≥ 0∧[(-1)bso_9] ≥ 0)
(4) (i36[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD412(>(i36[0], 0), i36[0])), ≥)∧[(-1)Bound*bni_8] + [(2)bni_8]i36[0] ≥ 0∧[(-1)bso_9] ≥ 0)
(5) (i36[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD412(>(i36[0], 0), i36[0])), ≥)∧[(-1)Bound*bni_8] + [(2)bni_8]i36[0] ≥ 0∧[(-1)bso_9] ≥ 0)
(6) (i36[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD412(>(i36[0], 0), i36[0])), ≥)∧[(-1)Bound*bni_8 + (2)bni_8] + [(2)bni_8]i36[0] ≥ 0∧[(-1)bso_9] ≥ 0)
(7) (COND_LOAD412(TRUE, i36[1])≥NonInfC∧COND_LOAD412(TRUE, i36[1])≥LOAD412(+(i36[1], -1))∧(UIncreasing(LOAD412(+(i36[1], -1))), ≥))
(8) ((UIncreasing(LOAD412(+(i36[1], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)
(9) ((UIncreasing(LOAD412(+(i36[1], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)
(10) ((UIncreasing(LOAD412(+(i36[1], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)
(11) ((UIncreasing(LOAD412(+(i36[1], -1))), ≥)∧0 = 0∧[2 + (-1)bso_11] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD412(x1)) = [2]x1
POL(COND_LOAD412(x1, x2)) = [2]x2
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
COND_LOAD412(TRUE, i36[1]) → LOAD412(+(i36[1], -1))
LOAD412(i36[0]) → COND_LOAD412(>(i36[0], 0), i36[0])
LOAD412(i36[0]) → COND_LOAD412(>(i36[0], 0), i36[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