Initial Problem
Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: l0, l1, l2
Transitions:
t₀: l0(X₀, X₁, X₂, X₃, X₄) → l1(X₀, X₁, X₂, X₃, X₄) :|: 0 < X₀ ∧ 0 < X₄
t₁: l1(X₀, X₁, X₂, X₃, X₄) → l1(X₀-1, 3⋅X₁+2⋅X₂, -5⋅X₁-3⋅X₂, (X₀)²+X₃, X₄) :|: 0 < X₀
t₂: l1(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁, X₂, X₃, X₄)
t₄: l2(X₀, X₁, X₂, X₃, X₄) → l1(X₄, 2⋅X₄, 3⋅X₄, X₀, X₄-1) :|: 0 < X₄
t₃: l2(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁-1, X₂, X₃-1, X₄) :|: 0 < X₁+X₃
Preprocessing
Found invariant 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀ for location l2
Found invariant 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀ for location l1
Problem after Preprocessing
Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: l0, l1, l2
Transitions:
t₀: l0(X₀, X₁, X₂, X₃, X₄) → l1(X₀, X₁, X₂, X₃, X₄) :|: 0 < X₀ ∧ 0 < X₄
t₁: l1(X₀, X₁, X₂, X₃, X₄) → l1(X₀-1, 3⋅X₁+2⋅X₂, -5⋅X₁-3⋅X₂, (X₀)²+X₃, X₄) :|: 0 < X₀ ∧ 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀
t₂: l1(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁, X₂, X₃, X₄) :|: 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀
t₄: l2(X₀, X₁, X₂, X₃, X₄) → l1(X₄, 2⋅X₄, 3⋅X₄, X₀, X₄-1) :|: 0 < X₄ ∧ 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀
t₃: l2(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁-1, X₂, X₃-1, X₄) :|: 0 < X₁+X₃ ∧ 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀
MPRF for transition t₂: l1(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁, X₂, X₃, X₄) :|: 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀ of depth 1:
new bound:
X₄+1 {O(n)}
MPRF for transition t₄: l2(X₀, X₁, X₂, X₃, X₄) → l1(X₄, 2⋅X₄, 3⋅X₄, X₀, X₄-1) :|: 0 < X₄ ∧ 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀ of depth 1:
new bound:
X₄+1 {O(n)}
TWN: t₁: l1→l1
cycle: [t₁: l1→l1]
loop: (0 < X₀,(X₀) -> (X₀-1)
order: [X₀]
closed-form:
X₀: X₀ + [[n != 0]] * -1 * n^1
Termination: true
Formula:
1 < 0
∨ 0 < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
Stabilization-Threshold for: 0 < X₀
alphas_abs: X₀
M: 0
N: 1
Bound: 2⋅X₀+2 {O(n)}
loop: (0 < X₀,(X₀) -> (X₀-1)
order: [X₀]
closed-form:
X₀: X₀ + [[n != 0]] * -1 * n^1
Termination: true
Formula:
1 < 0
∨ 0 < X₀ ∧ 1 ≤ 0 ∧ 0 ≤ 1
Stabilization-Threshold for: 0 < X₀
alphas_abs: X₀
M: 0
N: 1
Bound: 2⋅X₀+2 {O(n)}
TWN - Lifting for t₁: l1→l1 of 2⋅X₀+4 {O(n)}
relevant size-bounds w.r.t. t₄:
X₀: 2⋅X₄ {O(n)}
Runtime-bound of t₄: X₄+1 {O(n)}
Results in: 4⋅X₄⋅X₄+8⋅X₄+4 {O(n^2)}
TWN - Lifting for t₁: l1→l1 of 2⋅X₀+4 {O(n)}
relevant size-bounds w.r.t. t₀:
X₀: X₀ {O(n)}
Runtime-bound of t₀: 1 {O(1)}
Results in: 2⋅X₀+4 {O(n)}
Analysing control-flow refined program
Found invariant 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀ for location l2
Found invariant 0 ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1 ≤ X₀ for location l1
Found invariant 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀ for location n_l1___1
knowledge_propagation leads to new time bound X₄+2 {O(n)} for transition t₅₇: l1(X₀, X₁, X₂, X₃, X₄) → n_l1___1(X₀-1, 3⋅X₁+2⋅X₂, -5⋅X₁-3⋅X₂, NoDet0, Arg4_P) :|: 0 < X₀ ∧ 0 ≤ Arg4_P ∧ 0 < X₀ ∧ X₄ ≤ Arg4_P ∧ Arg4_P ≤ X₄ ∧ 0 ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1 ≤ X₀
knowledge_propagation leads to new time bound X₄+2 {O(n)} for transition t₅₈: l1(X₀, X₁, X₂, X₃, X₄) → n_l1___1(X₀-1, 3⋅X₁+2⋅X₂, -5⋅X₁-3⋅X₂, NoDet0, Arg4_P) :|: 0 < X₀ ∧ 0 ≤ Arg4_P ∧ 0 < X₀ ∧ X₄ ≤ Arg4_P ∧ Arg4_P ≤ X₄ ∧ 0 ≤ X₄ ∧ 0 ≤ X₀ ∧ 0 ≤ X₄ ∧ 0 ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1 ≤ X₀
MPRF for transition t₅₆: n_l1___1(X₀, X₁, X₂, X₃, X₄) → n_l1___1(X₀-1, 3⋅X₁+2⋅X₂, -5⋅X₁-3⋅X₂, NoDet0, Arg4_P) :|: 0 ≤ Arg4_P ∧ 0 < X₀ ∧ X₄ ≤ Arg4_P ∧ Arg4_P ≤ X₄ ∧ 0 ≤ X₄ ∧ 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀ of depth 1:
new bound:
2⋅X₀⋅X₄+6⋅X₄⋅X₄+14⋅X₄+4⋅X₀+4 {O(n^2)}
MPRF for transition t₆₁: n_l1___1(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁, X₂, X₃, X₄) :|: 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀ ∧ 0 ≤ X₄ ∧ 0 ≤ X₀+X₄ ∧ 0 ≤ X₀ of depth 1:
new bound:
X₄+1 {O(n)}
CFR did not improve the program. Rolling back
CFR did not improve the program. Rolling back
All Bounds
Timebounds
Overall timebound:inf {Infinity}
t₀: 1 {O(1)}
t₁: 4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8 {O(n^2)}
t₂: X₄+1 {O(n)}
t₃: inf {Infinity}
t₄: X₄+1 {O(n)}
Costbounds
Overall costbound: inf {Infinity}
t₀: 1 {O(1)}
t₁: 4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8 {O(n^2)}
t₂: X₄+1 {O(n)}
t₃: inf {Infinity}
t₄: X₄+1 {O(n)}
Sizebounds
t₀, X₀: X₀ {O(n)}
t₀, X₁: X₁ {O(n)}
t₀, X₂: X₂ {O(n)}
t₀, X₃: X₃ {O(n)}
t₀, X₄: X₄ {O(n)}
t₁, X₀: 2⋅X₄+X₀ {O(n)}
t₁, X₁: 10⋅10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₄+10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₁+10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₂ {O(EXP)}
t₁, X₂: 10⋅10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₄+10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₁+10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₂ {O(EXP)}
t₁, X₄: X₄ {O(n)}
t₂, X₀: 2⋅X₀+4⋅X₄ {O(n)}
t₂, X₁: 10⋅10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₄+10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₁+10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₂+4⋅X₄+X₁ {O(EXP)}
t₂, X₂: 10⋅10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₄+10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₁+10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₂+6⋅X₄+X₂ {O(EXP)}
t₂, X₄: X₄ {O(n)}
t₃, X₀: 2⋅X₀+4⋅X₄ {O(n)}
t₃, X₂: 10⋅10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₄+10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₁+10^(4⋅X₄⋅X₄+2⋅X₀+8⋅X₄+8)⋅X₂+6⋅X₄+X₂ {O(EXP)}
t₃, X₄: X₄ {O(n)}
t₄, X₀: 2⋅X₄ {O(n)}
t₄, X₁: 4⋅X₄ {O(n)}
t₄, X₂: 6⋅X₄ {O(n)}
t₄, X₃: 4⋅X₀+8⋅X₄ {O(n)}
t₄, X₄: X₄ {O(n)}