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₄, X₂, 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₂ < 1
t₁₀: l12(X₀, X₁, X₂, X₃, X₄) → l14(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₂
t₁₆: l13(X₀, X₁, X₂, X₃, X₄) → l15(X₀, X₁, X₂, X₃, X₄)
t₁₂: l14(X₀, X₁, X₂, X₃, X₄) → l12(X₀, X₁, X₂-1, 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₀, X₁, X₃, X₃, X₄) :|: 1 ≤ X₁
t₉: l5(X₀, X₁, X₂, X₃, X₄) → l13(X₀, X₁, X₂, X₃, X₄) :|: X₁ < 1
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₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1 ≤ X₁ for location l11

Found invariant 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location l6

Found invariant X₁ ≤ X₄ ∧ X₁ ≤ 0 for location l15

Found invariant 1 ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁ for location l12

Found invariant 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location l7

Found invariant X₁ ≤ X₄ for location l5

Found invariant X₁ ≤ X₄ ∧ X₁ ≤ 0 for location l13

Found invariant 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ X₂ ≤ X₃ ∧ 2 ≤ 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₄, X₂, X₃, X₄)
t₁₃: l11(X₀, X₁, X₂, X₃, X₄) → l6(X₁-1, X₁, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1 ≤ X₁
t₁₁: l12(X₀, X₁, X₂, X₃, X₄) → l11(X₀, X₁, X₂, X₃, X₄) :|: X₂ < 1 ∧ 1 ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁
t₁₀: l12(X₀, X₁, X₂, X₃, X₄) → l14(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁
t₁₆: l13(X₀, X₁, X₂, X₃, X₄) → l15(X₀, X₁, X₂, X₃, X₄) :|: X₁ ≤ X₄ ∧ X₁ ≤ 0
t₁₂: l14(X₀, X₁, X₂, X₃, X₄) → l12(X₀, X₁, X₂-1, X₃, X₄) :|: 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ X₂ ≤ X₃ ∧ 2 ≤ 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₀, X₁, X₃, X₃, X₄) :|: 1 ≤ X₁ ∧ X₁ ≤ X₄
t₉: l5(X₀, X₁, X₂, X₃, X₄) → l13(X₀, X₁, X₂, X₃, X₄) :|: X₁ < 1 ∧ X₁ ≤ X₄
t₁₄: l6(X₀, X₁, X₂, X₃, X₄) → l7(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀
t₁₅: l7(X₀, X₁, X₂, X₃, X₄) → l5(X₀, X₀, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ 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₀, X₁, X₃, X₃, X₄) :|: 1 ≤ X₁ ∧ X₁ ≤ X₄ of depth 1:

new bound:

X₄ {O(n)}

MPRF for transition t₁₁: l12(X₀, X₁, X₂, X₃, X₄) → l11(X₀, X₁, X₂, X₃, X₄) :|: X₂ < 1 ∧ 1 ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁ of depth 1:

new bound:

X₄ {O(n)}

MPRF for transition t₁₃: l11(X₀, X₁, X₂, X₃, X₄) → l6(X₁-1, X₁, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1 ≤ X₁ of depth 1:

new bound:

X₄ {O(n)}

MPRF for transition t₁₄: l6(X₀, X₁, X₂, X₃, X₄) → l7(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

X₄ {O(n)}

MPRF for transition t₁₅: l7(X₀, X₁, X₂, X₃, X₄) → l5(X₀, X₀, X₂, X₃, X₄) :|: 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

X₄ {O(n)}

TWN: t₁₀: l12→l14

cycle: [t₁₀: l12→l14; t₁₂: l14→l12]
loop: (1 ≤ X₂,(X₂) -> (X₂-1)
order: [X₂]
closed-form:
X₂: X₂ + [[n != 0]] * -1 * n^1

Termination: true
Formula:

1 < 0
∨ 1 < X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 1 ≤ X₂ ∧ X₂ ≤ 1

Stabilization-Threshold for: 1 ≤ X₂
alphas_abs: 1+X₂
M: 0
N: 1
Bound: 2⋅X₂+4 {O(n)}

TWN - Lifting for t₁₀: l12→l14 of 2⋅X₂+6 {O(n)}

relevant size-bounds w.r.t. t₈:
X₂: 2⋅X₃ {O(n)}
Runtime-bound of t₈: X₄ {O(n)}
Results in: 4⋅X₃⋅X₄+6⋅X₄ {O(n^2)}

TWN: t₁₂: l14→l12

TWN - Lifting for t₁₂: l14→l12 of 2⋅X₂+6 {O(n)}

relevant size-bounds w.r.t. t₈:
X₂: 2⋅X₃ {O(n)}
Runtime-bound of t₈: X₄ {O(n)}
Results in: 4⋅X₃⋅X₄+6⋅X₄ {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₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1 ≤ X₁ for location l11

Found invariant 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location l6

Found invariant X₁ ≤ X₄ ∧ X₁ ≤ 0 for location l15

Found invariant 1 ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁ for location l12

Found invariant 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location l7

Found invariant X₁ ≤ X₄ for location l5

Found invariant X₁ ≤ X₄ ∧ X₁ ≤ 0 for location l13

Found invariant 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ X₂ ≤ X₃ ∧ 2 ≤ 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₀, X₀, X₃, X₃, X₄) :|: 1 ≤ X₀ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ ∧ X₀ ≤ X₄ ∧ 1 ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 0 ≤ 0 ∧ 1 ≤ X₀ ∧ 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

2⋅X₄ {O(n)}

MPRF for transition t₁₁₀: l7(X₀, X₁, X₂, X₃, X₄) -{5}> l7(X₀-1, X₀, X₃, X₃, X₄) :|: 1 ≤ X₀ ∧ X₃ < 1 ∧ 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ ∧ X₀ ≤ X₄ ∧ 1 ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 0 ≤ 0 ∧ 1 ≤ X₀ ∧ 1 ≤ X₄ ∧ 1+X₃ ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 0 ≤ 0 ∧ X₃ ≤ 0 ∧ 1+X₃ ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₄ ∧ 1+X₃ ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 2 ≤ X₀+X₄ ∧ X₀ ≤ X₄ ∧ 0 ≤ 0 ∧ X₃ ≤ 0 ∧ 1+X₃ ≤ X₀ ∧ 1+X₃ ≤ X₀ ∧ 0 ≤ 0 ∧ 1 ≤ X₀ ∧ 2 ≤ 2⋅X₀ ∧ 0 ≤ 0 ∧ 1 ≤ X₀ ∧ 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

2⋅X₄+1 {O(n)}

MPRF for transition t₁₁₁: l14(X₀, X₁, X₂, X₃, X₄) -{4}> l7(X₁-1, X₁, X₂-1, X₃, X₄) :|: X₂ < 2 ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ 2 ≤ 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₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ 1+X₃ ∧ 1 ≤ X₁ ∧ 1 ≤ X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ 1+X₃ ∧ X₂ ≤ 1 ∧ X₂ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₄ ∧ X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ 1+X₃ ∧ X₂ ≤ 1 ∧ X₂ ≤ X₁ ∧ X₂ ≤ X₁ ∧ 0 ≤ 0 ∧ 1 ≤ X₁ ∧ 2 ≤ 2⋅X₁ ∧ 0 ≤ 0 ∧ 1 ≤ X₁ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ 2 ≤ 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:

4⋅X₄+4 {O(n)}

TWN: t₉₆: l14→l14

cycle: [t₉₆: l14→l14]
loop: (2 ≤ X₂,(X₂) -> (X₂-1)
order: [X₂]
closed-form:
X₂: X₂ + [[n != 0]] * -1 * n^1

Termination: true
Formula:

1 < 0
∨ 2 < X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 2 ≤ X₂ ∧ X₂ ≤ 2

Stabilization-Threshold for: 2 ≤ X₂
alphas_abs: 2+X₂
M: 0
N: 1
Bound: 2⋅X₂+6 {O(n)}
loop: (2 ≤ X₂,(X₂) -> (X₂-1)
order: [X₂]
closed-form:
X₂: X₂ + [[n != 0]] * -1 * n^1

Termination: true
Formula:

1 < 0
∨ 2 < X₂ ∧ 1 ≤ 0 ∧ 0 ≤ 1
∨ 1 ≤ 0 ∧ 0 ≤ 1 ∧ 2 ≤ X₂ ∧ X₂ ≤ 2

Stabilization-Threshold for: 2 ≤ X₂
alphas_abs: 2+X₂
M: 0
N: 1
Bound: 2⋅X₂+6 {O(n)}

TWN - Lifting for t₉₆: l14→l14 of 2⋅X₂+8 {O(n)}

relevant size-bounds w.r.t. t₁₀₃:
X₂: X₃ {O(n)}
Runtime-bound of t₁₀₃: 2⋅X₄ {O(n)}
Results in: 4⋅X₃⋅X₄+16⋅X₄ {O(n^2)}

TWN - Lifting for t₉₆: l14→l14 of 2⋅X₂+8 {O(n)}

relevant size-bounds w.r.t. t₁₀₂:
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₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ 1 ≤ X₁ for location l11

Found invariant 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location l6

Found invariant 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₃ ≤ X₂ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ X₂ ≤ X₃ ∧ 2 ≤ X₁+X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location n_l14___3

Found invariant X₁ ≤ X₄ ∧ X₁ ≤ 0 for location l15

Found invariant 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 1 ≤ X₂+X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ 1+X₂ ≤ X₃ ∧ 2 ≤ X₁+X₃ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location n_l12___2

Found invariant 1 ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₃ ≤ X₂ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁ for location l12

Found invariant 1 ≤ X₄ ∧ 1+X₂ ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₀+X₄ ∧ 1+X₀ ≤ X₄ ∧ X₂ ≤ X₃ ∧ X₂ ≤ 0 ∧ 1+X₂ ≤ X₁ ∧ X₂ ≤ X₀ ∧ X₁ ≤ 1+X₀ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location l7

Found invariant X₁ ≤ X₄ for location l5

Found invariant X₁ ≤ X₄ ∧ X₁ ≤ 0 for location l13

Found invariant 1 ≤ X₄ ∧ 3 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 2 ≤ X₃ ∧ 3 ≤ X₂+X₃ ∧ 1+X₂ ≤ X₃ ∧ 3 ≤ X₁+X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ for location n_l14___1

knowledge_propagation leads to new time bound X₄ {O(n)} for transition t₂₄₉: l12(X₀, X₁, X₂, X₃, X₄) → n_l14___3(X₀, X₁, X₂, X₃, X₄) :|: X₃ ≤ X₂ ∧ 1 ≤ X₂ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₁ ∧ X₂ ≤ X₃ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₃ ≤ X₂ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁

knowledge_propagation leads to new time bound X₄ {O(n)} for transition t₂₅₁: n_l14___3(X₀, X₁, X₂, X₃, X₄) → n_l12___2(X₀, X₁, X₂-1, X₃, X₄) :|: X₃ ≤ X₂ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ X₂ ≤ X₃ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₃ ≤ X₂ ∧ 1 ≤ X₃ ∧ 2 ≤ X₂+X₃ ∧ X₂ ≤ X₃ ∧ 2 ≤ X₁+X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁

MPRF for transition t₂₄₈: n_l12___2(X₀, X₁, X₂, X₃, X₄) → n_l14___1(X₀, X₁, X₂, X₃, X₄) :|: 0 ≤ X₂ ∧ 1+X₂ ≤ X₃ ∧ 1 ≤ X₂ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₁ ∧ X₂ ≤ X₃ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 1 ≤ X₂+X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ 1+X₂ ≤ X₃ ∧ 2 ≤ X₁+X₃ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₁ of depth 1:

new bound:

2⋅X₃⋅X₄+X₄ {O(n^2)}

MPRF for transition t₂₅₀: n_l14___1(X₀, X₁, X₂, X₃, X₄) → n_l12___2(X₀, X₁, X₂-1, X₃, X₄) :|: 1+X₂ ≤ X₃ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₂ ∧ 1 ≤ X₁ ∧ X₂ ≤ X₃ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₄ ∧ 3 ≤ X₃+X₄ ∧ 2 ≤ X₂+X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 2 ≤ X₃ ∧ 3 ≤ X₂+X₃ ∧ 1+X₂ ≤ X₃ ∧ 3 ≤ X₁+X₃ ∧ 1 ≤ X₂ ∧ 2 ≤ X₁+X₂ ∧ 1 ≤ X₁ of depth 1:

new bound:

2⋅X₃⋅X₄ {O(n^2)}

MPRF for transition t₂₅₅: n_l12___2(X₀, X₁, X₂, X₃, X₄) → l11(X₀, X₁, X₂, X₃, X₄) :|: X₂ < 1 ∧ 1 ≤ X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ X₂ ≤ X₃ ∧ 1 ≤ X₁ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 1 ≤ X₂+X₄ ∧ 2 ≤ X₁+X₄ ∧ X₁ ≤ X₄ ∧ 1 ≤ X₃ ∧ 1 ≤ X₂+X₃ ∧ 1+X₂ ≤ X₃ ∧ 2 ≤ X₁+X₃ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 1 ≤ X₁ of depth 1:

new bound:

X₄ {O(n)}

CFR did not improve the program. Rolling back

CFR did not improve the program. Rolling back

All Bounds

Timebounds

Overall timebound:8⋅X₃⋅X₄+17⋅X₄+10 {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₄ {O(n)}
t₉: 1 {O(1)}
t₁₀: 4⋅X₃⋅X₄+6⋅X₄ {O(n^2)}
t₁₁: X₄ {O(n)}
t₁₂: 4⋅X₃⋅X₄+6⋅X₄ {O(n^2)}
t₁₃: X₄ {O(n)}
t₁₄: X₄ {O(n)}
t₁₅: X₄ {O(n)}
t₁₆: 1 {O(1)}

Costbounds

Overall costbound: 8⋅X₃⋅X₄+17⋅X₄+10 {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₄ {O(n)}
t₉: 1 {O(1)}
t₁₀: 4⋅X₃⋅X₄+6⋅X₄ {O(n^2)}
t₁₁: X₄ {O(n)}
t₁₂: 4⋅X₃⋅X₄+6⋅X₄ {O(n^2)}
t₁₃: X₄ {O(n)}
t₁₄: X₄ {O(n)}
t₁₅: X₄ {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₂: X₂ {O(n)}
t₇, X₃: X₃ {O(n)}
t₇, X₄: X₄ {O(n)}
t₈, X₀: X₀+X₄ {O(n)}
t₈, X₁: X₄ {O(n)}
t₈, X₂: 2⋅X₃ {O(n)}
t₈, X₃: X₃ {O(n)}
t₈, X₄: X₄ {O(n)}
t₉, X₀: X₀+X₄ {O(n)}
t₉, X₁: 2⋅X₄ {O(n)}
t₉, X₂: 4⋅X₃+X₂ {O(n)}
t₉, X₃: 2⋅X₃ {O(n)}
t₉, X₄: 2⋅X₄ {O(n)}
t₁₀, X₀: X₀+X₄ {O(n)}
t₁₀, X₁: X₄ {O(n)}
t₁₀, X₂: 2⋅X₃ {O(n)}
t₁₀, X₃: X₃ {O(n)}
t₁₀, X₄: X₄ {O(n)}
t₁₁, X₀: 2⋅X₀+2⋅X₄ {O(n)}
t₁₁, X₁: X₄ {O(n)}
t₁₁, X₂: 4⋅X₃ {O(n)}
t₁₁, X₃: X₃ {O(n)}
t₁₁, X₄: X₄ {O(n)}
t₁₂, X₀: X₀+X₄ {O(n)}
t₁₂, X₁: X₄ {O(n)}
t₁₂, X₂: 2⋅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₂: 4⋅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₂: 4⋅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₂: 4⋅X₃ {O(n)}
t₁₅, X₃: X₃ {O(n)}
t₁₅, X₄: X₄ {O(n)}
t₁₆, X₀: X₀+X₄ {O(n)}
t₁₆, X₁: 2⋅X₄ {O(n)}
t₁₆, X₂: 4⋅X₃+X₂ {O(n)}
t₁₆, X₃: 2⋅X₃ {O(n)}
t₁₆, X₄: 2⋅X₄ {O(n)}