Initial Problem
Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: l0, l1, l10, l11, l12, l13, l14, l15, l2, l3, l4, l5, l6, l7, l8, l9
Transitions:
t₀: l0(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁, X₂, X₃, X₄)
t₃: l1(X₀, X₁, X₂, X₃, X₄) → l4(X₀, X₁, X₂, X₃, X₄)
t₇: l10(X₀, X₁, X₂, X₃, X₄) → l5(X₀, X₁, 1, X₃, X₄)
t₁₃: l11(X₀, X₁, X₂, X₃, X₄) → l6(X₂+1, X₁, X₂, X₃, X₄)
t₁₁: l12(X₀, X₁, X₂, X₃, X₄) → l11(X₀, X₁, X₂, X₃, X₄) :|: X₃ < X₁
t₁₀: l12(X₀, X₁, X₂, X₃, X₄) → l14(X₀, X₁, X₂, X₃, X₄) :|: X₁ ≤ X₃
t₁₆: l13(X₀, X₁, X₂, X₃, X₄) → l15(X₀, X₁, X₂, X₃, X₄)
t₁₂: l14(X₀, X₁, X₂, X₃, X₄) → l12(X₀, X₁+1, X₂, X₃, X₄)
t₁: l2(X₀, X₁, X₂, X₃, X₄) → l3(X₀, X₁, X₂, X₃, X₄)
t₂: l3(X₀, X₁, X₂, X₃, X₄) → l1(X₀, X₁, X₂, X₃, X₄)
t₄: l4(X₀, X₁, X₂, X₃, X₄) → l8(X₀, X₁, X₂, X₃, X₄)
t₈: l5(X₀, X₁, X₂, X₃, X₄) → l12(X₀, 1, X₂, X₃, X₄) :|: X₂ ≤ X₄
t₉: l5(X₀, X₁, X₂, X₃, X₄) → l13(X₀, X₁, X₂, X₃, X₄) :|: X₄ < X₂
t₁₄: l6(X₀, X₁, X₂, X₃, X₄) → l7(X₀, X₁, X₂, X₃, X₄)
t₁₅: l7(X₀, X₁, X₂, X₃, X₄) → l5(X₀, X₁, X₀, X₃, X₄)
t₅: l8(X₀, X₁, X₂, X₃, X₄) → l9(X₀, X₁, X₂, X₃, X₄)
t₆: l9(X₀, X₁, X₂, X₃, X₄) → l10(X₀, X₁, X₂, X₃, X₄)
Preprocessing
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location l11
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location l6
Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₂ for location l15
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location l12
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location l7
Found invariant 1 ≤ X₂ for location l5
Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₂ for location l13
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₁+X₃ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location l14
Problem after Preprocessing
Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: l0, l1, l10, l11, l12, l13, l14, l15, l2, l3, l4, l5, l6, l7, l8, l9
Transitions:
t₀: l0(X₀, X₁, X₂, X₃, X₄) → l2(X₀, X₁, X₂, X₃, X₄)
t₃: l1(X₀, X₁, X₂, X₃, X₄) → l4(X₀, X₁, X₂, X₃, X₄)
t₇: l10(X₀, X₁, X₂, X₃, X₄) → l5(X₀, X₁, 1, X₃, X₄)
t₁₃: l11(X₀, X₁, X₂, X₃, X₄) → l6(X₂+1, X₁, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁
t₁₁: l12(X₀, X₁, X₂, X₃, X₄) → l11(X₀, X₁, X₂, X₃, X₄) :|: X₃ < X₁ ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁
t₁₀: l12(X₀, X₁, X₂, X₃, X₄) → l14(X₀, X₁, X₂, X₃, X₄) :|: X₁ ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁
t₁₆: l13(X₀, X₁, X₂, X₃, X₄) → l15(X₀, X₁, X₂, X₃, X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₂
t₁₂: l14(X₀, X₁, X₂, X₃, X₄) → l12(X₀, X₁+1, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₁+X₃ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁
t₁: l2(X₀, X₁, X₂, X₃, X₄) → l3(X₀, X₁, X₂, X₃, X₄)
t₂: l3(X₀, X₁, X₂, X₃, X₄) → l1(X₀, X₁, X₂, X₃, X₄)
t₄: l4(X₀, X₁, X₂, X₃, X₄) → l8(X₀, X₁, X₂, X₃, X₄)
t₈: l5(X₀, X₁, X₂, X₃, X₄) → l12(X₀, 1, X₂, X₃, X₄) :|: X₂ ≤ X₄ ∧ 1 ≤ X₂
t₉: l5(X₀, X₁, X₂, X₃, X₄) → l13(X₀, X₁, X₂, X₃, X₄) :|: X₄ < X₂ ∧ 1 ≤ X₂
t₁₄: l6(X₀, X₁, X₂, X₃, X₄) → l7(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀
t₁₅: l7(X₀, X₁, X₂, X₃, X₄) → l5(X₀, X₁, X₀, X₃, X₄) :|: 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀
t₅: l8(X₀, X₁, X₂, X₃, X₄) → l9(X₀, X₁, X₂, X₃, X₄)
t₆: l9(X₀, X₁, X₂, X₃, X₄) → l10(X₀, X₁, X₂, X₃, X₄)
MPRF for transition t₈: l5(X₀, X₁, X₂, X₃, X₄) → l12(X₀, 1, X₂, X₃, X₄) :|: X₂ ≤ X₄ ∧ 1 ≤ X₂ of depth 1:
new bound:
X₄+2 {O(n)}
MPRF for transition t₁₁: l12(X₀, X₁, X₂, X₃, X₄) → l11(X₀, X₁, X₂, X₃, X₄) :|: X₃ < X₁ ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ of depth 1:
new bound:
X₄+2 {O(n)}
MPRF for transition t₁₃: l11(X₀, X₁, X₂, X₃, X₄) → l6(X₂+1, X₁, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ of depth 1:
new bound:
X₄+2 {O(n)}
MPRF for transition t₁₄: l6(X₀, X₁, X₂, X₃, X₄) → l7(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:
new bound:
X₄+2 {O(n)}
MPRF for transition t₁₅: l7(X₀, X₁, X₂, X₃, X₄) → l5(X₀, X₁, X₀, X₃, X₄) :|: 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:
new bound:
X₄+2 {O(n)}
TWN: t₁₀: l12→l14
cycle: [t₁₀: l12→l14; t₁₂: l14→l12]
loop: (X₁ ≤ X₃,(X₁,X₃) -> (X₁+1,X₃)
order: [X₁; X₃]
closed-form:
X₁: X₁ + [[n != 0]] * n^1
X₃: X₃
Termination: true
Formula:
1 < 0
∨ X₁ < X₃ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ X₁ ≤ X₃ ∧ X₃ ≤ X₁
Stabilization-Threshold for: X₁ ≤ X₃
alphas_abs: X₁+X₃
M: 0
N: 1
Bound: 2⋅X₁+2⋅X₃+2 {O(n)}
TWN - Lifting for t₁₀: l12→l14 of 2⋅X₁+2⋅X₃+4 {O(n)}
relevant size-bounds w.r.t. t₈:
X₁: 1 {O(1)}
X₃: X₃ {O(n)}
Runtime-bound of t₈: X₄+2 {O(n)}
Results in: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+12 {O(n^2)}
TWN: t₁₂: l14→l12
TWN - Lifting for t₁₂: l14→l12 of 2⋅X₁+2⋅X₃+4 {O(n)}
relevant size-bounds w.r.t. t₈:
X₁: 1 {O(1)}
X₃: X₃ {O(n)}
Runtime-bound of t₈: X₄+2 {O(n)}
Results in: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+12 {O(n^2)}
Chain transitions t₁₁: l12→l11 and t₁₃: l11→l6 to t₉₃: l12→l6
Chain transitions t₈: l5→l12 and t₉₃: l12→l6 to t₉₄: l5→l6
Chain transitions t₁₂: l14→l12 and t₉₃: l12→l6 to t₉₅: l14→l6
Chain transitions t₁₂: l14→l12 and t₁₀: l12→l14 to t₉₆: l14→l14
Chain transitions t₈: l5→l12 and t₁₀: l12→l14 to t₉₇: l5→l14
Chain transitions t₁₂: l14→l12 and t₁₁: l12→l11 to t₉₈: l14→l11
Chain transitions t₈: l5→l12 and t₁₁: l12→l11 to t₉₉: l5→l11
Chain transitions t₁₅: l7→l5 and t₉₄: l5→l6 to t₁₀₀: l7→l6
Chain transitions t₇: l10→l5 and t₉₄: l5→l6 to t₁₀₁: l10→l6
Chain transitions t₇: l10→l5 and t₉₇: l5→l14 to t₁₀₂: l10→l14
Chain transitions t₁₅: l7→l5 and t₉₇: l5→l14 to t₁₀₃: l7→l14
Chain transitions t₇: l10→l5 and t₉: l5→l13 to t₁₀₄: l10→l13
Chain transitions t₁₅: l7→l5 and t₉: l5→l13 to t₁₀₅: l7→l13
Chain transitions t₇: l10→l5 and t₈: l5→l12 to t₁₀₆: l10→l12
Chain transitions t₁₅: l7→l5 and t₈: l5→l12 to t₁₀₇: l7→l12
Chain transitions t₇: l10→l5 and t₉₉: l5→l11 to t₁₀₈: l10→l11
Chain transitions t₁₅: l7→l5 and t₉₉: l5→l11 to t₁₀₉: l7→l11
Chain transitions t₁₀₀: l7→l6 and t₁₄: l6→l7 to t₁₁₀: l7→l7
Chain transitions t₉₅: l14→l6 and t₁₄: l6→l7 to t₁₁₁: l14→l7
Chain transitions t₁₀₁: l10→l6 and t₁₄: l6→l7 to t₁₁₂: l10→l7
Analysing control-flow refined program
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location l11
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location l6
Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₂ for location l15
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location l12
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location l7
Found invariant 1 ≤ X₂ for location l5
Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₂ for location l13
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₁+X₃ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location l14
MPRF for transition t₁₀₃: l7(X₀, X₁, X₂, X₃, X₄) -{3}> l14(X₀, 1, X₀, X₃, X₄) :|: X₀ ≤ X₄ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 1 ≤ X₄ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀ ∧ 0 ≤ 0 ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:
new bound:
2⋅X₄+4 {O(n)}
MPRF for transition t₁₁₀: l7(X₀, X₁, X₂, X₃, X₄) -{5}> l7(1+X₀, 1, X₀, X₃, X₄) :|: X₀ ≤ X₄ ∧ X₃ < 1 ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 1 ≤ X₄ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀ ∧ 0 ≤ 0 ∧ 1 ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 1 ≤ X₄ ∧ X₃ ≤ 0 ∧ 1 ≤ X₀ ∧ 1 ≤ X₀ ∧ 0 ≤ 0 ∧ 1 ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 1 ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ X₃ ≤ 0 ∧ 0 ≤ 0 ∧ 1 ≤ X₀ ∧ 1 ≤ X₀ ∧ 2 ≤ 2⋅X₀ ∧ 0 ≤ 0 ∧ 0 ≤ 0 ∧ 1 ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ of depth 1:
new bound:
4⋅X₄+3 {O(n)}
MPRF for transition t₁₁₁: l14(X₀, X₁, X₂, X₃, X₄) -{4}> l7(1+X₂, 1+X₁, X₂, X₃, X₄) :|: X₃ < X₁+1 ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₁+X₃ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 1 ≤ X₁+X₄ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₁ ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 1 ≤ X₁+X₄ ∧ X₃ ≤ X₁ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₁ ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 1 ≤ X₁+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ X₃ ≤ X₁ ∧ 0 ≤ 0 ∧ 1 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 2 ≤ 2⋅X₂ ∧ 0 ≤ 0 ∧ 0 ≤ X₁ ∧ 1 ≤ X₂+X₁ ∧ 1 ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₁+X₃ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ of depth 1:
new bound:
2⋅X₄+3 {O(n)}
TWN: t₉₆: l14→l14
cycle: [t₉₆: l14→l14]
loop: (1+X₁ ≤ X₃,(X₁,X₃) -> (1+X₁,X₃)
order: [X₁; X₃]
closed-form:
X₁: X₁ + [[n != 0]] * n^1
X₃: X₃
Termination: true
Formula:
1 < 0
∨ 1+X₁ < X₃ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 1+X₁ ≤ X₃ ∧ X₃ ≤ 1+X₁
Stabilization-Threshold for: 1+X₁ ≤ X₃
alphas_abs: 1+X₁+X₃
M: 0
N: 1
Bound: 2⋅X₁+2⋅X₃+4 {O(n)}
loop: (1+X₁ ≤ X₃,(X₁,X₃) -> (1+X₁,X₃)
order: [X₁; X₃]
closed-form:
X₁: X₁ + [[n != 0]] * n^1
X₃: X₃
Termination: true
Formula:
1 < 0
∨ 1+X₁ < X₃ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 1+X₁ ≤ X₃ ∧ X₃ ≤ 1+X₁
Stabilization-Threshold for: 1+X₁ ≤ X₃
alphas_abs: 1+X₁+X₃
M: 0
N: 1
Bound: 2⋅X₁+2⋅X₃+4 {O(n)}
TWN - Lifting for t₉₆: l14→l14 of 2⋅X₁+2⋅X₃+6 {O(n)}
relevant size-bounds w.r.t. t₁₀₃:
X₁: 1 {O(1)}
X₃: X₃ {O(n)}
Runtime-bound of t₁₀₃: 2⋅X₄+4 {O(n)}
Results in: 4⋅X₃⋅X₄+16⋅X₄+8⋅X₃+32 {O(n^2)}
TWN - Lifting for t₉₆: l14→l14 of 2⋅X₁+2⋅X₃+6 {O(n)}
relevant size-bounds w.r.t. t₁₀₂:
X₁: 1 {O(1)}
X₃: X₃ {O(n)}
Runtime-bound of t₁₀₂: 1 {O(1)}
Results in: 2⋅X₃+8 {O(n)}
CFR did not improve the program. Rolling back
CFR did not improve the program. Rolling back
Analysing control-flow refined program
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location l11
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location l6
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₁+X₃ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ X₁ ≤ 1 ∧ 1 ≤ X₁ for location n_l14___3
Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₂ for location l15
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 3 ≤ X₁+X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 3 ≤ X₁+X₃ ∧ X₁ ≤ 1+X₃ ∧ 1 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 2 ≤ X₁ for location n_l12___2
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ X₁ ≤ 1 ∧ 1 ≤ X₁ for location l12
Found invariant 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 3 ≤ X₀+X₄ ∧ X₀ ≤ 1+X₄ ∧ 1+X₃ ≤ X₁ ∧ 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 3 ≤ X₀+X₂ ∧ X₀ ≤ 1+X₂ ∧ 1 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location l7
Found invariant 1 ≤ X₂ for location l5
Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₂ for location l13
Found invariant 1 ≤ X₄ ∧ 3 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 3 ≤ X₁+X₄ ∧ 2 ≤ X₃ ∧ 3 ≤ X₂+X₃ ∧ 4 ≤ X₁+X₃ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 2 ≤ X₁ for location n_l14___1
knowledge_propagation leads to new time bound X₄+2 {O(n)} for transition t₂₄₉: l12(X₀, X₁, X₂, X₃, X₄) → n_l14___3(X₀, X₁, X₂, X₃, X₄) :|: X₁ ≤ 1 ∧ X₁ ≤ X₃ ∧ X₂ ≤ X₄ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₂ ∧ X₂ ≤ X₄ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ X₂ ≤ X₄ ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ X₁ ≤ 1 ∧ 1 ≤ X₁
knowledge_propagation leads to new time bound X₄+2 {O(n)} for transition t₂₅₁: n_l14___3(X₀, X₁, X₂, X₃, X₄) → n_l12___2(X₀, X₁+1, X₂, X₃, X₄) :|: X₁ ≤ 1 ∧ X₂ ≤ X₄ ∧ 1 ≤ X₃ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ X₂ ≤ X₄ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 2 ≤ X₁+X₃ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ X₁ ≤ X₂ ∧ X₁ ≤ 1 ∧ 1 ≤ X₁
MPRF for transition t₂₄₈: n_l12___2(X₀, X₁, X₂, X₃, X₄) → n_l14___1(X₀, X₁, X₂, X₃, X₄) :|: 2 ≤ X₁ ∧ X₁ ≤ 1+X₃ ∧ X₁ ≤ X₃ ∧ X₂ ≤ X₄ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₂ ∧ X₂ ≤ X₄ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ X₂ ≤ X₄ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 3 ≤ X₁+X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 3 ≤ X₁+X₃ ∧ X₁ ≤ 1+X₃ ∧ 1 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 2 ≤ X₁ of depth 1:
new bound:
X₃⋅X₄+2⋅X₃+3⋅X₄+6 {O(n^2)}
MPRF for transition t₂₅₀: n_l14___1(X₀, X₁, X₂, X₃, X₄) → n_l12___2(X₀, X₁+1, X₂, X₃, X₄) :|: 2 ≤ X₁ ∧ X₂ ≤ X₄ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₂ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ X₂ ≤ X₄ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₄ ∧ 3 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 3 ≤ X₁+X₄ ∧ 2 ≤ X₃ ∧ 3 ≤ X₂+X₃ ∧ 4 ≤ X₁+X₃ ∧ X₁ ≤ X₃ ∧ 1 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 2 ≤ X₁ of depth 1:
new bound:
X₃⋅X₄+2⋅X₃+3⋅X₄+6 {O(n^2)}
MPRF for transition t₂₅₅: n_l12___2(X₀, X₁, X₂, X₃, X₄) → l11(X₀, X₁, X₂, X₃, X₄) :|: X₃ < X₁ ∧ 1 ≤ X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ X₂ ≤ X₄ ∧ 3 ≤ X₁+X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ 3 ≤ X₁+X₃ ∧ X₁ ≤ 1+X₃ ∧ 1 ≤ X₂ ∧ 3 ≤ X₁+X₂ ∧ 2 ≤ X₁ of depth 1:
new bound:
X₄+2 {O(n)}
CFR did not improve the program. Rolling back
CFR did not improve the program. Rolling back
All Bounds
Timebounds
Overall timebound:4⋅X₃⋅X₄+17⋅X₄+8⋅X₃+44 {O(n^2)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 1 {O(1)}
t₃: 1 {O(1)}
t₄: 1 {O(1)}
t₅: 1 {O(1)}
t₆: 1 {O(1)}
t₇: 1 {O(1)}
t₈: X₄+2 {O(n)}
t₉: 1 {O(1)}
t₁₀: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+12 {O(n^2)}
t₁₁: X₄+2 {O(n)}
t₁₂: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+12 {O(n^2)}
t₁₃: X₄+2 {O(n)}
t₁₄: X₄+2 {O(n)}
t₁₅: X₄+2 {O(n)}
t₁₆: 1 {O(1)}
Costbounds
Overall costbound: 4⋅X₃⋅X₄+17⋅X₄+8⋅X₃+44 {O(n^2)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 1 {O(1)}
t₃: 1 {O(1)}
t₄: 1 {O(1)}
t₅: 1 {O(1)}
t₆: 1 {O(1)}
t₇: 1 {O(1)}
t₈: X₄+2 {O(n)}
t₉: 1 {O(1)}
t₁₀: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+12 {O(n^2)}
t₁₁: X₄+2 {O(n)}
t₁₂: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+12 {O(n^2)}
t₁₃: X₄+2 {O(n)}
t₁₄: X₄+2 {O(n)}
t₁₅: X₄+2 {O(n)}
t₁₆: 1 {O(1)}
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₀: 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₀: 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₀: 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₀: 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₀: 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₀: 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₀: X₀ {O(n)}
t₇, X₁: X₁ {O(n)}
t₇, X₂: 1 {O(1)}
t₇, X₃: X₃ {O(n)}
t₇, X₄: X₄ {O(n)}
t₈, X₀: X₀+X₄+3 {O(n)}
t₈, X₁: 1 {O(1)}
t₈, X₂: X₄+3 {O(n)}
t₈, X₃: X₃ {O(n)}
t₈, X₄: X₄ {O(n)}
t₉, X₀: X₀+X₄+3 {O(n)}
t₉, X₁: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+X₁+14 {O(n^2)}
t₉, X₂: X₄+4 {O(n)}
t₉, X₃: 2⋅X₃ {O(n)}
t₉, X₄: 2⋅X₄ {O(n)}
t₁₀, X₀: X₀+X₄+3 {O(n)}
t₁₀, X₁: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+13 {O(n^2)}
t₁₀, X₂: X₄+3 {O(n)}
t₁₀, X₃: X₃ {O(n)}
t₁₀, X₄: X₄ {O(n)}
t₁₁, X₀: 2⋅X₀+2⋅X₄+6 {O(n)}
t₁₁, X₁: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+14 {O(n^2)}
t₁₁, X₂: X₄+3 {O(n)}
t₁₁, X₃: X₃ {O(n)}
t₁₁, X₄: X₄ {O(n)}
t₁₂, X₀: X₀+X₄+3 {O(n)}
t₁₂, X₁: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+13 {O(n^2)}
t₁₂, X₂: X₄+3 {O(n)}
t₁₂, X₃: X₃ {O(n)}
t₁₂, X₄: X₄ {O(n)}
t₁₃, X₀: X₄+3 {O(n)}
t₁₃, X₁: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+14 {O(n^2)}
t₁₃, X₂: X₄+3 {O(n)}
t₁₃, X₃: X₃ {O(n)}
t₁₃, X₄: X₄ {O(n)}
t₁₄, X₀: X₄+3 {O(n)}
t₁₄, X₁: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+14 {O(n^2)}
t₁₄, X₂: X₄+3 {O(n)}
t₁₄, X₃: X₃ {O(n)}
t₁₄, X₄: X₄ {O(n)}
t₁₅, X₀: X₄+3 {O(n)}
t₁₅, X₁: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+14 {O(n^2)}
t₁₅, X₂: X₄+3 {O(n)}
t₁₅, X₃: X₃ {O(n)}
t₁₅, X₄: X₄ {O(n)}
t₁₆, X₀: X₀+X₄+3 {O(n)}
t₁₆, X₁: 2⋅X₃⋅X₄+4⋅X₃+6⋅X₄+X₁+14 {O(n^2)}
t₁₆, X₂: X₄+4 {O(n)}
t₁₆, X₃: 2⋅X₃ {O(n)}
t₁₆, X₄: 2⋅X₄ {O(n)}