0 JBC
↳1 JBCToGraph (⇒, 150 ms)
↳2 JBCTerminationGraph
↳3 TerminationGraphToSCCProof (⇒, 0 ms)
↳4 JBCTerminationSCC
↳5 SCCToIDPv1Proof (⇒, 260 ms)
↳6 IDP
↳7 IDPNonInfProof (⇒, 400 ms)
↳8 AND
↳9 IDP
↳10 IDependencyGraphProof (⇔, 0 ms)
↳11 TRUE
↳12 IDP
↳13 IDependencyGraphProof (⇔, 0 ms)
↳14 TRUE
public class Fibonacci {
public static void main(String[] args) {
fib(args.length);
}
public static int fib(int x) {
if (x == 0) {
return 0;
} else if (x == 1) {
return 1;
} else {
return fib(x-1) + fib(x-2);
}
}
}
Generated 30 rules for P and 20 rules for R.
P rules:
62_0_fib_NE(EOS(STATIC_62), i4, i4) → 64_0_fib_NE(EOS(STATIC_64), i4, i4)
64_0_fib_NE(EOS(STATIC_64), i4, i4) → 67_0_fib_Load(EOS(STATIC_67), i4) | >(i4, 0)
67_0_fib_Load(EOS(STATIC_67), i4) → 71_0_fib_ConstantStackPush(EOS(STATIC_71), i4, i4)
71_0_fib_ConstantStackPush(EOS(STATIC_71), i4, i4) → 76_0_fib_NE(EOS(STATIC_76), i4, i4, 1)
76_0_fib_NE(EOS(STATIC_76), i7, i7, matching1) → 82_0_fib_NE(EOS(STATIC_82), i7, i7, 1) | =(matching1, 1)
82_0_fib_NE(EOS(STATIC_82), i7, i7, matching1) → 91_0_fib_Load(EOS(STATIC_91), i7) | &&(!(=(i7, 1)), =(matching1, 1))
91_0_fib_Load(EOS(STATIC_91), i7) → 97_0_fib_ConstantStackPush(EOS(STATIC_97), i7, i7)
97_0_fib_ConstantStackPush(EOS(STATIC_97), i7, i7) → 102_0_fib_IntArithmetic(EOS(STATIC_102), i7, i7, 1)
102_0_fib_IntArithmetic(EOS(STATIC_102), i7, i7, matching1) → 112_0_fib_InvokeMethod(EOS(STATIC_112), i7, -(i7, 1)) | &&(>(i7, 0), =(matching1, 1))
112_0_fib_InvokeMethod(EOS(STATIC_112), i7, i10) → 117_1_fib_InvokeMethod(117_0_fib_Load(EOS(STATIC_117), i10), i7, i10)
117_0_fib_Load(EOS(STATIC_117), i10) → 124_0_fib_Load(EOS(STATIC_124), i10)
117_1_fib_InvokeMethod(95_0_fib_Return(EOS(STATIC_95), matching1, matching2), i7, matching3) → 140_0_fib_Return(EOS(STATIC_140), i7, 1, 1, 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
117_1_fib_InvokeMethod(564_0_fib_Return(EOS(STATIC_564), i160), i7, i178) → 593_0_fib_Return(EOS(STATIC_593), i7, i178, i160)
117_1_fib_InvokeMethod(611_0_fib_Return(EOS(STATIC_611), i201), i7, i206) → 628_0_fib_Return(EOS(STATIC_628), i7, i206, i201)
124_0_fib_Load(EOS(STATIC_124), i10) → 59_0_fib_Load(EOS(STATIC_59), i10)
59_0_fib_Load(EOS(STATIC_59), i1) → 62_0_fib_NE(EOS(STATIC_62), i1, i1)
140_0_fib_Return(EOS(STATIC_140), i7, matching1, matching2, matching3) → 142_0_fib_Load(EOS(STATIC_142), i7, 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
142_0_fib_Load(EOS(STATIC_142), i7, matching1) → 253_0_fib_Load(EOS(STATIC_253), i7, 1) | =(matching1, 1)
253_0_fib_Load(EOS(STATIC_253), i7, i39) → 340_0_fib_Load(EOS(STATIC_340), i7, i39)
340_0_fib_Load(EOS(STATIC_340), i7, i78) → 439_0_fib_Load(EOS(STATIC_439), i7, i78)
439_0_fib_Load(EOS(STATIC_439), i7, i118) → 533_0_fib_Load(EOS(STATIC_533), i7, i118)
533_0_fib_Load(EOS(STATIC_533), i7, i160) → 538_0_fib_ConstantStackPush(EOS(STATIC_538), i160, i7)
538_0_fib_ConstantStackPush(EOS(STATIC_538), i160, i7) → 542_0_fib_IntArithmetic(EOS(STATIC_542), i160, i7, 2)
542_0_fib_IntArithmetic(EOS(STATIC_542), i160, i7, matching1) → 544_0_fib_InvokeMethod(EOS(STATIC_544), i160, -(i7, 2)) | &&(>(i7, 0), =(matching1, 2))
544_0_fib_InvokeMethod(EOS(STATIC_544), i160, i171) → 545_1_fib_InvokeMethod(545_0_fib_Load(EOS(STATIC_545), i171), i160, i171)
545_0_fib_Load(EOS(STATIC_545), i171) → 547_0_fib_Load(EOS(STATIC_547), i171)
547_0_fib_Load(EOS(STATIC_547), i171) → 59_0_fib_Load(EOS(STATIC_59), i171)
593_0_fib_Return(EOS(STATIC_593), i7, i178, i160) → 518_0_fib_Return(EOS(STATIC_518), i7, i178, i160)
518_0_fib_Return(EOS(STATIC_518), i7, i161, i160) → 533_0_fib_Load(EOS(STATIC_533), i7, i160)
628_0_fib_Return(EOS(STATIC_628), i7, i206, i201) → 518_0_fib_Return(EOS(STATIC_518), i7, i206, i201)
R rules:
62_0_fib_NE(EOS(STATIC_62), matching1, matching2) → 65_0_fib_NE(EOS(STATIC_65), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
65_0_fib_NE(EOS(STATIC_65), matching1, matching2) → 69_0_fib_ConstantStackPush(EOS(STATIC_69), 0) | &&(=(matching1, 0), =(matching2, 0))
69_0_fib_ConstantStackPush(EOS(STATIC_69), matching1) → 72_0_fib_Return(EOS(STATIC_72), 0, 0) | =(matching1, 0)
76_0_fib_NE(EOS(STATIC_76), matching1, matching2, matching3) → 81_0_fib_NE(EOS(STATIC_81), 1, 1, 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
81_0_fib_NE(EOS(STATIC_81), matching1, matching2, matching3) → 89_0_fib_ConstantStackPush(EOS(STATIC_89), 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
89_0_fib_ConstantStackPush(EOS(STATIC_89), matching1) → 95_0_fib_Return(EOS(STATIC_95), 1, 1) | =(matching1, 1)
231_0_fib_Return(EOS(STATIC_231), i7, i40, i39) → 325_0_fib_Return(EOS(STATIC_325), i7, i40, i39)
325_0_fib_Return(EOS(STATIC_325), i7, i79, i78) → 423_0_fib_Return(EOS(STATIC_423), i7, i79, i78)
423_0_fib_Return(EOS(STATIC_423), i7, i119, i118) → 518_0_fib_Return(EOS(STATIC_518), i7, i119, i118)
545_1_fib_InvokeMethod(72_0_fib_Return(EOS(STATIC_72), matching1, matching2), i160, matching3) → 556_0_fib_Return(EOS(STATIC_556), i160, 0, 0, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
545_1_fib_InvokeMethod(95_0_fib_Return(EOS(STATIC_95), matching1, matching2), i160, matching3) → 557_0_fib_Return(EOS(STATIC_557), i160, 1, 1, 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
545_1_fib_InvokeMethod(564_0_fib_Return(EOS(STATIC_564), i181), i160, i182) → 595_0_fib_Return(EOS(STATIC_595), i160, i182, i181)
545_1_fib_InvokeMethod(611_0_fib_Return(EOS(STATIC_611), i201), i160, i208) → 631_0_fib_Return(EOS(STATIC_631), i160, i208, i201)
556_0_fib_Return(EOS(STATIC_556), i160, matching1, matching2, matching3) → 559_0_fib_IntArithmetic(EOS(STATIC_559), i160, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
557_0_fib_Return(EOS(STATIC_557), i160, matching1, matching2, matching3) → 561_0_fib_IntArithmetic(EOS(STATIC_561), i160, 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
559_0_fib_IntArithmetic(EOS(STATIC_559), i160, matching1) → 564_0_fib_Return(EOS(STATIC_564), +(i160, 0)) | &&(>(i160, 0), =(matching1, 0))
561_0_fib_IntArithmetic(EOS(STATIC_561), i160, matching1) → 607_0_fib_IntArithmetic(EOS(STATIC_607), i160, 1) | =(matching1, 1)
595_0_fib_Return(EOS(STATIC_595), i160, i182, i181) → 607_0_fib_IntArithmetic(EOS(STATIC_607), i160, i181)
607_0_fib_IntArithmetic(EOS(STATIC_607), i160, i181) → 611_0_fib_Return(EOS(STATIC_611), +(i160, i181)) | &&(>(i160, 0), >(i181, 0))
631_0_fib_Return(EOS(STATIC_631), i160, i208, i201) → 595_0_fib_Return(EOS(STATIC_595), i160, i208, i201)
Combined rules. Obtained 4 conditional rules for P and 5 conditional rules for R.
P rules:
62_0_fib_NE(EOS(STATIC_62), x0, x0) → 117_1_fib_InvokeMethod(62_0_fib_NE(EOS(STATIC_62), -(x0, 1), -(x0, 1)), x0, -(x0, 1)) | &&(>(x0, 0), !(=(x0, 1)))
117_1_fib_InvokeMethod(95_0_fib_Return(EOS(STATIC_95), 1, 1), x2, 1) → 545_1_fib_InvokeMethod(62_0_fib_NE(EOS(STATIC_62), -(x2, 2), -(x2, 2)), 1, -(x2, 2)) | >(x2, 0)
117_1_fib_InvokeMethod(564_0_fib_Return(EOS(STATIC_564), x0), x1, x2) → 545_1_fib_InvokeMethod(62_0_fib_NE(EOS(STATIC_62), -(x1, 2), -(x1, 2)), x0, -(x1, 2)) | >(x1, 0)
117_1_fib_InvokeMethod(611_0_fib_Return(EOS(STATIC_611), x0), x1, x2) → 545_1_fib_InvokeMethod(62_0_fib_NE(EOS(STATIC_62), -(x1, 2), -(x1, 2)), x0, -(x1, 2)) | >(x1, 0)
R rules:
62_0_fib_NE(EOS(STATIC_62), 0, 0) → 72_0_fib_Return(EOS(STATIC_72), 0, 0)
545_1_fib_InvokeMethod(72_0_fib_Return(EOS(STATIC_72), 0, 0), arith[1], 0) → 564_0_fib_Return(EOS(STATIC_564), arith[1]) | >(arith[1], 0)
545_1_fib_InvokeMethod(564_0_fib_Return(EOS(STATIC_564), x0), x1, x2) → 611_0_fib_Return(EOS(STATIC_611), +(x1, x0)) | &&(>(x1, 0), >(x0, 0))
545_1_fib_InvokeMethod(611_0_fib_Return(EOS(STATIC_611), x0), x1, x2) → 611_0_fib_Return(EOS(STATIC_611), +(x1, x0)) | &&(>(x1, 0), >(x0, 0))
545_1_fib_InvokeMethod(95_0_fib_Return(EOS(STATIC_95), 1, 1), x2, 1) → 611_0_fib_Return(EOS(STATIC_611), +(x2, 1)) | >(x2, 0)
Filtered ground terms:
62_0_fib_NE(x1, x2, x3) → 62_0_fib_NE(x2, x3)
611_0_fib_Return(x1, x2) → 611_0_fib_Return(x2)
564_0_fib_Return(x1, x2) → 564_0_fib_Return(x2)
Cond_117_1_fib_InvokeMethod(x1, x2, x3, x4) → Cond_117_1_fib_InvokeMethod(x1, x3)
95_0_fib_Return(x1, x2, x3) → 95_0_fib_Return
Cond_62_0_fib_NE(x1, x2, x3, x4) → Cond_62_0_fib_NE(x1, x3, x4)
Cond_545_1_fib_InvokeMethod3(x1, x2, x3, x4) → Cond_545_1_fib_InvokeMethod3(x1, x3)
Cond_545_1_fib_InvokeMethod(x1, x2, x3, x4) → Cond_545_1_fib_InvokeMethod(x1, x3)
72_0_fib_Return(x1, x2, x3) → 72_0_fib_Return
Filtered duplicate args:
62_0_fib_NE(x1, x2) → 62_0_fib_NE(x2)
Cond_62_0_fib_NE(x1, x2, x3) → Cond_62_0_fib_NE(x1, x3)
Filtered unneeded arguments:
Cond_117_1_fib_InvokeMethod1(x1, x2, x3, x4) → Cond_117_1_fib_InvokeMethod1(x1, x2, x3)
Cond_117_1_fib_InvokeMethod2(x1, x2, x3, x4) → Cond_117_1_fib_InvokeMethod2(x1, x2, x3)
Cond_545_1_fib_InvokeMethod1(x1, x2, x3, x4) → Cond_545_1_fib_InvokeMethod1(x1, x2, x3)
Cond_545_1_fib_InvokeMethod2(x1, x2, x3, x4) → Cond_545_1_fib_InvokeMethod2(x1, x2, x3)
Combined rules. Obtained 4 conditional rules for P and 5 conditional rules for R.
P rules:
62_0_fib_NE(x0) → 117_1_fib_InvokeMethod(62_0_fib_NE(-(x0, 1)), x0, -(x0, 1)) | &&(>(x0, 0), !(=(x0, 1)))
117_1_fib_InvokeMethod(95_0_fib_Return, x2, 1) → 545_1_fib_InvokeMethod(62_0_fib_NE(-(x2, 2)), 1, -(x2, 2)) | >(x2, 0)
117_1_fib_InvokeMethod(564_0_fib_Return(x0), x1, x2) → 545_1_fib_InvokeMethod(62_0_fib_NE(-(x1, 2)), x0, -(x1, 2)) | >(x1, 0)
117_1_fib_InvokeMethod(611_0_fib_Return(x0), x1, x2) → 545_1_fib_InvokeMethod(62_0_fib_NE(-(x1, 2)), x0, -(x1, 2)) | >(x1, 0)
R rules:
62_0_fib_NE(0) → 72_0_fib_Return
545_1_fib_InvokeMethod(72_0_fib_Return, arith[1], 0) → 564_0_fib_Return(arith[1]) | >(arith[1], 0)
545_1_fib_InvokeMethod(564_0_fib_Return(x0), x1, x2) → 611_0_fib_Return(+(x1, x0)) | &&(>(x1, 0), >(x0, 0))
545_1_fib_InvokeMethod(611_0_fib_Return(x0), x1, x2) → 611_0_fib_Return(+(x1, x0)) | &&(>(x1, 0), >(x0, 0))
545_1_fib_InvokeMethod(95_0_fib_Return, x2, 1) → 611_0_fib_Return(+(x2, 1)) | >(x2, 0)
Performed bisimulation on rules. Used the following equivalence classes: {[72_0_fib_Return, 95_0_fib_Return]=72_0_fib_Return}
Finished conversion. Obtained 9 rules for P and 9 rules for R. System has predefined symbols.
P rules:
62_0_FIB_NE(x0) → COND_62_0_FIB_NE(&&(>(x0, 0), !(=(x0, 1))), x0)
COND_62_0_FIB_NE(TRUE, x0) → 117_1_FIB_INVOKEMETHOD(62_0_fib_NE(-(x0, 1)), x0, -(x0, 1))
COND_62_0_FIB_NE(TRUE, x0) → 62_0_FIB_NE(-(x0, 1))
117_1_FIB_INVOKEMETHOD(72_0_fib_Return, x2, 1) → COND_117_1_FIB_INVOKEMETHOD(>(x2, 0), 72_0_fib_Return, x2, 1)
COND_117_1_FIB_INVOKEMETHOD(TRUE, 72_0_fib_Return, x2, 1) → 62_0_FIB_NE(-(x2, 2))
117_1_FIB_INVOKEMETHOD(564_0_fib_Return(x0), x1, x2) → COND_117_1_FIB_INVOKEMETHOD1(>(x1, 0), 564_0_fib_Return(x0), x1, x2)
COND_117_1_FIB_INVOKEMETHOD1(TRUE, 564_0_fib_Return(x0), x1, x2) → 62_0_FIB_NE(-(x1, 2))
117_1_FIB_INVOKEMETHOD(611_0_fib_Return(x0), x1, x2) → COND_117_1_FIB_INVOKEMETHOD2(>(x1, 0), 611_0_fib_Return(x0), x1, x2)
COND_117_1_FIB_INVOKEMETHOD2(TRUE, 611_0_fib_Return(x0), x1, x2) → 62_0_FIB_NE(-(x1, 2))
R rules:
62_0_fib_NE(0) → 72_0_fib_Return
545_1_fib_InvokeMethod(72_0_fib_Return, arith[1], 0) → Cond_545_1_fib_InvokeMethod(>(arith[1], 0), 72_0_fib_Return, arith[1], 0)
Cond_545_1_fib_InvokeMethod(TRUE, 72_0_fib_Return, arith[1], 0) → 564_0_fib_Return(arith[1])
545_1_fib_InvokeMethod(564_0_fib_Return(x0), x1, x2) → Cond_545_1_fib_InvokeMethod1(&&(>(x1, 0), >(x0, 0)), 564_0_fib_Return(x0), x1, x2)
Cond_545_1_fib_InvokeMethod1(TRUE, 564_0_fib_Return(x0), x1, x2) → 611_0_fib_Return(+(x1, x0))
545_1_fib_InvokeMethod(611_0_fib_Return(x0), x1, x2) → Cond_545_1_fib_InvokeMethod2(&&(>(x1, 0), >(x0, 0)), 611_0_fib_Return(x0), x1, x2)
Cond_545_1_fib_InvokeMethod2(TRUE, 611_0_fib_Return(x0), x1, x2) → 611_0_fib_Return(+(x1, x0))
545_1_fib_InvokeMethod(72_0_fib_Return, x2, 1) → Cond_545_1_fib_InvokeMethod3(>(x2, 0), 72_0_fib_Return, x2, 1)
Cond_545_1_fib_InvokeMethod3(TRUE, 72_0_fib_Return, x2, 1) → 611_0_fib_Return(+(x2, 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
(0) -> (1), if (x0[0] > 0 && !(x0[0] = 1) ∧x0[0] →* x0[1])
(0) -> (2), if (x0[0] > 0 && !(x0[0] = 1) ∧x0[0] →* x0[2])
(1) -> (3), if (62_0_fib_NE(x0[1] - 1) →* 72_0_fib_Return∧x0[1] →* x2[3]∧x0[1] - 1 →* 1)
(1) -> (5), if (62_0_fib_NE(x0[1] - 1) →* 564_0_fib_Return(x0[5])∧x0[1] →* x1[5]∧x0[1] - 1 →* x2[5])
(1) -> (7), if (62_0_fib_NE(x0[1] - 1) →* 611_0_fib_Return(x0[7])∧x0[1] →* x1[7]∧x0[1] - 1 →* x2[7])
(2) -> (0), if (x0[2] - 1 →* x0[0])
(3) -> (4), if (x2[3] > 0 ∧x2[3] →* x2[4])
(4) -> (0), if (x2[4] - 2 →* x0[0])
(5) -> (6), if (x1[5] > 0 ∧564_0_fib_Return(x0[5]) →* 564_0_fib_Return(x0[6])∧x1[5] →* x1[6]∧x2[5] →* x2[6])
(6) -> (0), if (x1[6] - 2 →* x0[0])
(7) -> (8), if (x1[7] > 0 ∧611_0_fib_Return(x0[7]) →* 611_0_fib_Return(x0[8])∧x1[7] →* x1[8]∧x2[7] →* x2[8])
(8) -> (0), if (x1[8] - 2 →* x0[0])
(1) (&&(>(x0[0], 0), !(=(x0[0], 1)))=TRUE∧x0[0]=x0[1] ⇒ 62_0_FIB_NE(x0[0])≥NonInfC∧62_0_FIB_NE(x0[0])≥COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(2) (>(x0[0], 0)=TRUE∧<(x0[0], 1)=TRUE ⇒ 62_0_FIB_NE(x0[0])≥NonInfC∧62_0_FIB_NE(x0[0])≥COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(3) (>(x0[0], 0)=TRUE∧>(x0[0], 1)=TRUE ⇒ 62_0_FIB_NE(x0[0])≥NonInfC∧62_0_FIB_NE(x0[0])≥COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(4) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(5) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(6) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(7) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(8) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(9) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(10) (x0[0] ≥ 0∧[-1] + x0[0] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(11) ([1] + x0[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(12) (&&(>(x0[0], 0), !(=(x0[0], 1)))=TRUE∧x0[0]=x0[2] ⇒ 62_0_FIB_NE(x0[0])≥NonInfC∧62_0_FIB_NE(x0[0])≥COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(13) (>(x0[0], 0)=TRUE∧<(x0[0], 1)=TRUE ⇒ 62_0_FIB_NE(x0[0])≥NonInfC∧62_0_FIB_NE(x0[0])≥COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(14) (>(x0[0], 0)=TRUE∧>(x0[0], 1)=TRUE ⇒ 62_0_FIB_NE(x0[0])≥NonInfC∧62_0_FIB_NE(x0[0])≥COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(15) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(16) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(17) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(18) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(19) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(20) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(21) (x0[0] ≥ 0∧[-1] + x0[0] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(22) ([1] + x0[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(23) (COND_62_0_FIB_NE(TRUE, x0[1])≥NonInfC∧COND_62_0_FIB_NE(TRUE, x0[1])≥117_1_FIB_INVOKEMETHOD(62_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))∧(UIncreasing(117_1_FIB_INVOKEMETHOD(62_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))), ≥))
(24) ((UIncreasing(117_1_FIB_INVOKEMETHOD(62_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(25) ((UIncreasing(117_1_FIB_INVOKEMETHOD(62_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(26) ((UIncreasing(117_1_FIB_INVOKEMETHOD(62_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(27) ((UIncreasing(117_1_FIB_INVOKEMETHOD(62_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))), ≥)∧[bni_32] = 0∧0 = 0∧[(-1)bso_33] ≥ 0)
(28) (COND_62_0_FIB_NE(TRUE, x0[2])≥NonInfC∧COND_62_0_FIB_NE(TRUE, x0[2])≥62_0_FIB_NE(-(x0[2], 1))∧(UIncreasing(62_0_FIB_NE(-(x0[2], 1))), ≥))
(29) ((UIncreasing(62_0_FIB_NE(-(x0[2], 1))), ≥)∧[bni_34] = 0∧[1 + (-1)bso_35] ≥ 0)
(30) ((UIncreasing(62_0_FIB_NE(-(x0[2], 1))), ≥)∧[bni_34] = 0∧[1 + (-1)bso_35] ≥ 0)
(31) ((UIncreasing(62_0_FIB_NE(-(x0[2], 1))), ≥)∧[bni_34] = 0∧[1 + (-1)bso_35] ≥ 0)
(32) ((UIncreasing(62_0_FIB_NE(-(x0[2], 1))), ≥)∧[bni_34] = 0∧0 = 0∧[1 + (-1)bso_35] ≥ 0)
(33) (>(x2[3], 0)=TRUE∧x2[3]=x2[4] ⇒ 117_1_FIB_INVOKEMETHOD(72_0_fib_Return, x2[3], 1)≥NonInfC∧117_1_FIB_INVOKEMETHOD(72_0_fib_Return, x2[3], 1)≥COND_117_1_FIB_INVOKEMETHOD(>(x2[3], 0), 72_0_fib_Return, x2[3], 1)∧(UIncreasing(COND_117_1_FIB_INVOKEMETHOD(>(x2[3], 0), 72_0_fib_Return, x2[3], 1)), ≥))
(34) (>(x2[3], 0)=TRUE ⇒ 117_1_FIB_INVOKEMETHOD(72_0_fib_Return, x2[3], 1)≥NonInfC∧117_1_FIB_INVOKEMETHOD(72_0_fib_Return, x2[3], 1)≥COND_117_1_FIB_INVOKEMETHOD(>(x2[3], 0), 72_0_fib_Return, x2[3], 1)∧(UIncreasing(COND_117_1_FIB_INVOKEMETHOD(>(x2[3], 0), 72_0_fib_Return, x2[3], 1)), ≥))
(35) (x2[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD(>(x2[3], 0), 72_0_fib_Return, x2[3], 1)), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x2[3] ≥ 0∧[(-1)bso_37] ≥ 0)
(36) (x2[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD(>(x2[3], 0), 72_0_fib_Return, x2[3], 1)), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x2[3] ≥ 0∧[(-1)bso_37] ≥ 0)
(37) (x2[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD(>(x2[3], 0), 72_0_fib_Return, x2[3], 1)), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x2[3] ≥ 0∧[(-1)bso_37] ≥ 0)
(38) (x2[3] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD(>(x2[3], 0), 72_0_fib_Return, x2[3], 1)), ≥)∧[(-1)Bound*bni_36] + [bni_36]x2[3] ≥ 0∧[(-1)bso_37] ≥ 0)
(39) (COND_117_1_FIB_INVOKEMETHOD(TRUE, 72_0_fib_Return, x2[4], 1)≥NonInfC∧COND_117_1_FIB_INVOKEMETHOD(TRUE, 72_0_fib_Return, x2[4], 1)≥62_0_FIB_NE(-(x2[4], 2))∧(UIncreasing(62_0_FIB_NE(-(x2[4], 2))), ≥))
(40) ((UIncreasing(62_0_FIB_NE(-(x2[4], 2))), ≥)∧[bni_38] = 0∧[2 + (-1)bso_39] ≥ 0)
(41) ((UIncreasing(62_0_FIB_NE(-(x2[4], 2))), ≥)∧[bni_38] = 0∧[2 + (-1)bso_39] ≥ 0)
(42) ((UIncreasing(62_0_FIB_NE(-(x2[4], 2))), ≥)∧[bni_38] = 0∧[2 + (-1)bso_39] ≥ 0)
(43) ((UIncreasing(62_0_FIB_NE(-(x2[4], 2))), ≥)∧[bni_38] = 0∧0 = 0∧[2 + (-1)bso_39] ≥ 0)
(44) (>(x1[5], 0)=TRUE∧564_0_fib_Return(x0[5])=564_0_fib_Return(x0[6])∧x1[5]=x1[6]∧x2[5]=x2[6] ⇒ 117_1_FIB_INVOKEMETHOD(564_0_fib_Return(x0[5]), x1[5], x2[5])≥NonInfC∧117_1_FIB_INVOKEMETHOD(564_0_fib_Return(x0[5]), x1[5], x2[5])≥COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])∧(UIncreasing(COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])), ≥))
(45) (>(x1[5], 0)=TRUE ⇒ 117_1_FIB_INVOKEMETHOD(564_0_fib_Return(x0[5]), x1[5], x2[5])≥NonInfC∧117_1_FIB_INVOKEMETHOD(564_0_fib_Return(x0[5]), x1[5], x2[5])≥COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])∧(UIncreasing(COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])), ≥))
(46) (x1[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)
(47) (x1[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)
(48) (x1[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)
(49) (x1[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
(50) (x1[5] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
(51) (COND_117_1_FIB_INVOKEMETHOD1(TRUE, 564_0_fib_Return(x0[6]), x1[6], x2[6])≥NonInfC∧COND_117_1_FIB_INVOKEMETHOD1(TRUE, 564_0_fib_Return(x0[6]), x1[6], x2[6])≥62_0_FIB_NE(-(x1[6], 2))∧(UIncreasing(62_0_FIB_NE(-(x1[6], 2))), ≥))
(52) ((UIncreasing(62_0_FIB_NE(-(x1[6], 2))), ≥)∧[bni_42] = 0∧[2 + (-1)bso_43] ≥ 0)
(53) ((UIncreasing(62_0_FIB_NE(-(x1[6], 2))), ≥)∧[bni_42] = 0∧[2 + (-1)bso_43] ≥ 0)
(54) ((UIncreasing(62_0_FIB_NE(-(x1[6], 2))), ≥)∧[bni_42] = 0∧[2 + (-1)bso_43] ≥ 0)
(55) ((UIncreasing(62_0_FIB_NE(-(x1[6], 2))), ≥)∧[bni_42] = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
(56) (>(x1[7], 0)=TRUE∧611_0_fib_Return(x0[7])=611_0_fib_Return(x0[8])∧x1[7]=x1[8]∧x2[7]=x2[8] ⇒ 117_1_FIB_INVOKEMETHOD(611_0_fib_Return(x0[7]), x1[7], x2[7])≥NonInfC∧117_1_FIB_INVOKEMETHOD(611_0_fib_Return(x0[7]), x1[7], x2[7])≥COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])∧(UIncreasing(COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])), ≥))
(57) (>(x1[7], 0)=TRUE ⇒ 117_1_FIB_INVOKEMETHOD(611_0_fib_Return(x0[7]), x1[7], x2[7])≥NonInfC∧117_1_FIB_INVOKEMETHOD(611_0_fib_Return(x0[7]), x1[7], x2[7])≥COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])∧(UIncreasing(COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])), ≥))
(58) (x1[7] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x1[7] ≥ 0∧[(-1)bso_45] ≥ 0)
(59) (x1[7] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x1[7] ≥ 0∧[(-1)bso_45] ≥ 0)
(60) (x1[7] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x1[7] ≥ 0∧[(-1)bso_45] ≥ 0)
(61) (x1[7] + [-1] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x1[7] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
(62) (x1[7] ≥ 0 ⇒ (UIncreasing(COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_44] + [bni_44]x1[7] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
(63) (COND_117_1_FIB_INVOKEMETHOD2(TRUE, 611_0_fib_Return(x0[8]), x1[8], x2[8])≥NonInfC∧COND_117_1_FIB_INVOKEMETHOD2(TRUE, 611_0_fib_Return(x0[8]), x1[8], x2[8])≥62_0_FIB_NE(-(x1[8], 2))∧(UIncreasing(62_0_FIB_NE(-(x1[8], 2))), ≥))
(64) ((UIncreasing(62_0_FIB_NE(-(x1[8], 2))), ≥)∧[bni_46] = 0∧[2 + (-1)bso_47] ≥ 0)
(65) ((UIncreasing(62_0_FIB_NE(-(x1[8], 2))), ≥)∧[bni_46] = 0∧[2 + (-1)bso_47] ≥ 0)
(66) ((UIncreasing(62_0_FIB_NE(-(x1[8], 2))), ≥)∧[bni_46] = 0∧[2 + (-1)bso_47] ≥ 0)
(67) ((UIncreasing(62_0_FIB_NE(-(x1[8], 2))), ≥)∧[bni_46] = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(62_0_fib_NE(x1)) = [-1] + [2]x1
POL(0) = 0
POL(72_0_fib_Return) = [-1]
POL(545_1_fib_InvokeMethod(x1, x2, x3)) = [-1] + [-1]x2 + [-1]x1
POL(Cond_545_1_fib_InvokeMethod(x1, x2, x3, x4)) = [-1] + [-1]x3
POL(>(x1, x2)) = [-1]
POL(564_0_fib_Return(x1)) = x1
POL(Cond_545_1_fib_InvokeMethod1(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2
POL(&&(x1, x2)) = [-1]
POL(611_0_fib_Return(x1)) = x1
POL(+(x1, x2)) = x1 + x2
POL(Cond_545_1_fib_InvokeMethod2(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2
POL(1) = [1]
POL(Cond_545_1_fib_InvokeMethod3(x1, x2, x3, x4)) = [-1] + [-1]x3
POL(62_0_FIB_NE(x1)) = [-1] + x1
POL(COND_62_0_FIB_NE(x1, x2)) = [-1] + x2
POL(!(x1)) = [-1]
POL(=(x1, x2)) = [-1]
POL(117_1_FIB_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2
POL(-(x1, x2)) = x1 + [-1]x2
POL(COND_117_1_FIB_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x3
POL(2) = [2]
POL(COND_117_1_FIB_INVOKEMETHOD1(x1, x2, x3, x4)) = [-1] + x3
POL(COND_117_1_FIB_INVOKEMETHOD2(x1, x2, x3, x4)) = [-1] + x3
COND_62_0_FIB_NE(TRUE, x0[2]) → 62_0_FIB_NE(-(x0[2], 1))
COND_117_1_FIB_INVOKEMETHOD(TRUE, 72_0_fib_Return, x2[4], 1) → 62_0_FIB_NE(-(x2[4], 2))
COND_117_1_FIB_INVOKEMETHOD1(TRUE, 564_0_fib_Return(x0[6]), x1[6], x2[6]) → 62_0_FIB_NE(-(x1[6], 2))
COND_117_1_FIB_INVOKEMETHOD2(TRUE, 611_0_fib_Return(x0[8]), x1[8], x2[8]) → 62_0_FIB_NE(-(x1[8], 2))
62_0_FIB_NE(x0[0]) → COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])
117_1_FIB_INVOKEMETHOD(72_0_fib_Return, x2[3], 1) → COND_117_1_FIB_INVOKEMETHOD(>(x2[3], 0), 72_0_fib_Return, x2[3], 1)
117_1_FIB_INVOKEMETHOD(564_0_fib_Return(x0[5]), x1[5], x2[5]) → COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])
117_1_FIB_INVOKEMETHOD(611_0_fib_Return(x0[7]), x1[7], x2[7]) → COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])
62_0_FIB_NE(x0[0]) → COND_62_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])
COND_62_0_FIB_NE(TRUE, x0[1]) → 117_1_FIB_INVOKEMETHOD(62_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))
117_1_FIB_INVOKEMETHOD(72_0_fib_Return, x2[3], 1) → COND_117_1_FIB_INVOKEMETHOD(>(x2[3], 0), 72_0_fib_Return, x2[3], 1)
117_1_FIB_INVOKEMETHOD(564_0_fib_Return(x0[5]), x1[5], x2[5]) → COND_117_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 564_0_fib_Return(x0[5]), x1[5], x2[5])
117_1_FIB_INVOKEMETHOD(611_0_fib_Return(x0[7]), x1[7], x2[7]) → COND_117_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 611_0_fib_Return(x0[7]), x1[7], x2[7])
62_0_fib_NE(0)1 ↔ 72_0_fib_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, Boolean
(0) -> (1), if (x0[0] > 0 && !(x0[0] = 1) ∧x0[0] →* x0[1])
(1) -> (3), if (62_0_fib_NE(x0[1] - 1) →* 72_0_fib_Return∧x0[1] →* x2[3]∧x0[1] - 1 →* 1)
(1) -> (5), if (62_0_fib_NE(x0[1] - 1) →* 564_0_fib_Return(x0[5])∧x0[1] →* x1[5]∧x0[1] - 1 →* x2[5])
(1) -> (7), if (62_0_fib_NE(x0[1] - 1) →* 611_0_fib_Return(x0[7])∧x0[1] →* x1[7]∧x0[1] - 1 →* x2[7])
!= | ~ | 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