Initial Problem

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

Preprocessing

Eliminate variables {D,X₂} that do not contribute to the problem

Found invariant 0 ≤ X₀ for location l2

Problem after Preprocessing

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

MPRF for transition t₁₆: l1(X₀, X₁) → l1(X₀-99, 0) :|: X₀+1 ≤ 0 ∧ X₁+1 ≤ 0 ∧ 0 ≤ 1+X₁ of depth 1:

new bound:

X₁ {O(n)}

MPRF:

l1 [-X₁ ]

MPRF for transition t₁₈: l1(X₀, X₁) → l1(1+X₀, 1+X₁) :|: X₀+1 ≤ 0 ∧ 2+X₁ ≤ 0 of depth 1:

new bound:

X₁ {O(n)}

MPRF:

l1 [-X₁ ]

MPRF for transition t₁₇: l1(X₀, X₁) → l1(1+X₀, 1+X₁) :|: X₀+1 ≤ 0 ∧ 0 ≤ X₁ of depth 1:

new bound:

2⋅X₀⋅X₁+198⋅X₁+X₀ {O(n^2)}

MPRF:

l1 [-X₀ ]

Analysing control-flow refined program

Cut unsatisfiable transition t₉₄: n_l1___1→l2

Cut unsatisfiable transition t₉₇: n_l1___4→l2

Found invariant 0 ≤ X₀ for location l2

Found invariant X₁ ≤ 0 ∧ 100+X₀+X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ 100+X₀ ≤ X₁ ∧ 100+X₀ ≤ 0 for location n_l1___4

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

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

Found invariant X₁ ≤ 1 ∧ 98+X₀+X₁ ≤ 0 ∧ 1 ≤ X₁ ∧ 100+X₀ ≤ X₁ ∧ 99+X₀ ≤ 0 for location n_l1___1

MPRF for transition t₇₅: n_l1___2(X₀, X₁) → n_l1___2(X₀+1, X₁+1) :|: 1+X₁ ≤ 0 ∧ X₀ ≤ 0 ∧ 2+X₁ ≤ 0 ∧ 1+X₀ ≤ 0 ∧ 1+X₁ ≤ 0 ∧ 1+X₀+X₁ ≤ 0 ∧ X₀ ≤ 0 of depth 1:

new bound:

X₀+1 {O(n)}

MPRF:

n_l1___2 [1-X₀ ]

MPRF for transition t₇₇: n_l1___3(X₀, X₁) → n_l1___3(X₀+1, X₁+1) :|: 0 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₁ ∧ 1+X₀ ≤ 0 ∧ 1 ≤ X₁ ∧ 1+X₀ ≤ X₁ ∧ X₀ ≤ 0 of depth 1:

new bound:

4⋅X₀+299 {O(n)}

MPRF:

n_l1___3 [1-X₀ ]

CFR: Improvement to new bound with the following program:

new bound:

5⋅X₀+300 {O(n)}

cfr-program:

Start: l0
Program_Vars: X₀, X₁
Temp_Vars:
Locations: l0, l1, l2, n_l1___1, n_l1___2, n_l1___3, n_l1___4
Transitions:
t₁₅: l0(X₀, X₁) → l1(X₀, X₁)
t₁₉: l1(X₀, X₁) → l2(X₀, X₁) :|: 0 ≤ X₀
t₇₉: l1(X₀, X₁) → n_l1___2(X₀+1, X₁+1) :|: 2+X₁ ≤ 0 ∧ 1+X₀ ≤ 0
t₈₀: l1(X₀, X₁) → n_l1___3(X₀+1, X₁+1) :|: 0 ≤ X₁ ∧ 1+X₀ ≤ 0
t₈₁: l1(X₀, X₁) → n_l1___4(X₀-99, 0) :|: 1+X₀ ≤ 0 ∧ X₁+1 ≤ 0 ∧ 0 ≤ 1+X₁
t₇₄: n_l1___1(X₀, X₁) → n_l1___3(X₀+1, X₁+1) :|: 1+X₀ ≤ 0 ∧ 0 ≤ X₁ ∧ 0 ≤ X₁ ∧ 1+X₀ ≤ 0 ∧ 1 ≤ X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₁ ∧ 1+X₀ ≤ 0 ∧ X₁ ≤ 1 ∧ 98+X₀+X₁ ≤ 0 ∧ 1 ≤ X₁ ∧ 100+X₀ ≤ X₁ ∧ 99+X₀ ≤ 0
t₉₅: n_l1___2(X₀, X₁) → l2(X₀, X₁) :|: 0 ≤ X₀ ∧ 1+X₁ ≤ 0 ∧ 1+X₀+X₁ ≤ 0 ∧ X₀ ≤ 0
t₇₅: n_l1___2(X₀, X₁) → n_l1___2(X₀+1, X₁+1) :|: 1+X₁ ≤ 0 ∧ X₀ ≤ 0 ∧ 2+X₁ ≤ 0 ∧ 1+X₀ ≤ 0 ∧ 1+X₁ ≤ 0 ∧ 1+X₀+X₁ ≤ 0 ∧ X₀ ≤ 0
t₇₆: n_l1___2(X₀, X₁) → n_l1___4(X₀-99, 0) :|: 1+X₁ ≤ 0 ∧ X₀ ≤ 0 ∧ 1+X₀ ≤ 0 ∧ X₁+1 ≤ 0 ∧ 0 ≤ 1+X₁ ∧ 1+X₁ ≤ 0 ∧ 1+X₀+X₁ ≤ 0 ∧ X₀ ≤ 0
t₉₆: n_l1___3(X₀, X₁) → l2(X₀, X₁) :|: 0 ≤ X₀ ∧ 1 ≤ X₁ ∧ 1+X₀ ≤ X₁ ∧ X₀ ≤ 0
t₇₇: n_l1___3(X₀, X₁) → n_l1___3(X₀+1, X₁+1) :|: 0 ≤ X₁ ∧ 1 ≤ X₁ ∧ X₀ ≤ 0 ∧ 0 ≤ X₁ ∧ 1+X₀ ≤ 0 ∧ 1 ≤ X₁ ∧ 1+X₀ ≤ X₁ ∧ X₀ ≤ 0
t₇₈: n_l1___4(X₀, X₁) → n_l1___1(X₀+1, X₁+1) :|: 1+X₀ ≤ 0 ∧ 0 ≤ X₁ ∧ X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ 100+X₀ ≤ 0 ∧ 0 ≤ X₁ ∧ 1+X₀ ≤ 0 ∧ 0 ≤ X₁ ∧ 1+X₀ ≤ 0 ∧ X₁ ≤ 0 ∧ 100+X₀+X₁ ≤ 0 ∧ 0 ≤ X₁ ∧ 100+X₀ ≤ X₁ ∧ 100+X₀ ≤ 0

All Bounds

Timebounds

Overall timebound:5⋅X₀+310 {O(n)}
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₀+1 {O(n)}
t₇₆: 1 {O(1)}
t₉₅: 1 {O(1)}
t₇₇: 4⋅X₀+299 {O(n)}
t₉₆: 1 {O(1)}
t₇₈: 1 {O(1)}

Costbounds

Overall costbound: 5⋅X₀+310 {O(n)}
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₀+1 {O(n)}
t₇₆: 1 {O(1)}
t₉₅: 1 {O(1)}
t₇₇: 4⋅X₀+299 {O(n)}
t₉₆: 1 {O(1)}
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₁+1 {O(n)}
t₈₁, X₀: X₀+99 {O(n)}
t₈₁, X₁: 0 {O(1)}
t₇₄, X₀: 3⋅X₀+297 {O(n)}
t₇₄, X₁: 2 {O(1)}
t₇₅, X₀: X₀ {O(n)}
t₇₅, X₁: X₁ {O(n)}
t₇₆, X₀: 2⋅X₀+198 {O(n)}
t₇₆, X₁: 0 {O(1)}
t₉₅, X₀: 0 {O(1)}
t₉₅, X₁: 2⋅X₁ {O(n)}
t₇₇, X₀: 4⋅X₀+297 {O(n)}
t₇₇, X₁: 4⋅X₀+X₁+302 {O(n)}
t₉₆, X₀: 0 {O(1)}
t₉₆, X₁: 2⋅X₁+4⋅X₀+303 {O(n)}
t₇₈, X₀: 3⋅X₀+297 {O(n)}
t₇₈, X₁: 1 {O(1)}