Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆
Temp_Vars:
Locations: l0, l1, l2
Transitions:
t₂: l0(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆) :|: X₁+1 ≤ 0
t₃: l0(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l2(X₀, X₁, 0, 0, 0, 0, 0) :|: 0 ≤ X₁
t₀: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l1(X₀-X₁, X₁, X₂, X₃, X₄, X₅, X₆) :|: 0 ≤ X₀
t₁: l1(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → l2(X₀, X₁, 0, 0, 0, 0, 0) :|: X₀+1 ≤ 0

Preprocessing

Eliminate variables {X₂,X₃,X₄,X₅,X₆} that do not contribute to the problem

Found invariant 1+X₁ ≤ 0 for location l1

Problem after Preprocessing

Start: l0
Program_Vars: X₀, X₁
Temp_Vars:
Locations: l0, l1, l2
Transitions:
t₇: l0(X₀, X₁) → l1(X₀, X₁) :|: X₁+1 ≤ 0
t₈: l0(X₀, X₁) → l2(X₀, X₁) :|: 0 ≤ X₁
t₉: l1(X₀, X₁) → l1(X₀-X₁, X₁) :|: 0 ≤ X₀ ∧ 1+X₁ ≤ 0
t₁₀: l1(X₀, X₁) → l2(X₀, X₁) :|: X₀+1 ≤ 0 ∧ 1+X₁ ≤ 0

Solv. Size Bound: t₉: l1→l1 for X₀

cycle: [t₉: l1→l1]
loop: (0 ≤ X₀,(X₀,X₁) -> (X₀-X₁,X₁)
overappr. closed-form: X₁⋅n+X₀ {O(n^2)}
runtime bound: inf {Infinity}

Solv. Size Bound - Lifting for t₉: l1→l1 and X₀: inf {Infinity}

Solv. Size Bound - Lifting for t₉: l1→l1 and X₀: inf {Infinity}

Analysing control-flow refined program

Found invariant 1+X₁ ≤ 0 for location l1

Found invariant 1+X₁ ≤ 0 ∧ 2+X₁ ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location n_l1___1

Solv. Size Bound: t₃₄: n_l1___1→n_l1___1 for X₀

cycle: [t₃₄: n_l1___1→n_l1___1]
loop: (0 ≤ X₀ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ 0 ≤ X₀,(X₀,X₁) -> (X₀-X₁,X₁)
overappr. closed-form: X₁⋅n+X₀ {O(n^2)}
runtime bound: inf {Infinity}

Solv. Size Bound - Lifting for t₃₄: n_l1___1→n_l1___1 and X₀: inf {Infinity}

Solv. Size Bound - Lifting for t₃₄: n_l1___1→n_l1___1 and X₀: inf {Infinity}

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₈: 1 {O(1)}
t₉: inf {Infinity}
t₁₀: 1 {O(1)}

Costbounds

Overall costbound: inf {Infinity}
t₇: 1 {O(1)}
t₈: 1 {O(1)}
t₉: inf {Infinity}
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)}