Initial Problem

Start: f2
Program_Vars: X₀, X₁, X₂, X₃
Temp_Vars: E
Locations: f1, f2, f300
Transitions:
t₀: f2(X₀, X₁, X₂, X₃) → f300(X₀, X₁, X₂, X₃)
t₄: f300(X₀, X₁, X₂, X₃) → f1(X₀, X₁, X₂, E) :|: X₁ ≤ X₀
t₁: f300(X₀, X₁, X₂, X₃) → f300(1+X₀, X₁, E, X₃) :|: 1 ≤ E ∧ 1+X₀ ≤ X₁
t₂: f300(X₀, X₁, X₂, X₃) → f300(1+X₀, X₁, E, X₃) :|: 1+E ≤ 0 ∧ 1+X₀ ≤ X₁
t₃: f300(X₀, X₁, X₂, X₃) → f300(X₀, X₁-1, 0, X₃) :|: 1+X₀ ≤ X₁

Preprocessing

Eliminate variables [X₂; X₃] that do not contribute to the problem

Found invariant X₁ ≤ X₀ for location f1

Problem after Preprocessing

Start: f2
Program_Vars: X₀, X₁
Temp_Vars: E
Locations: f1, f2, f300
Transitions:
t₁₀: f2(X₀, X₁) → f300(X₀, X₁)
t₁₁: f300(X₀, X₁) → f1(X₀, X₁) :|: X₁ ≤ X₀
t₁₂: f300(X₀, X₁) → f300(1+X₀, X₁) :|: 1 ≤ E ∧ 1+X₀ ≤ X₁
t₁₃: f300(X₀, X₁) → f300(1+X₀, X₁) :|: 1+E ≤ 0 ∧ 1+X₀ ≤ X₁
t₁₄: f300(X₀, X₁) → f300(X₀, X₁-1) :|: 1+X₀ ≤ X₁

MPRF for transition t₁₂: f300(X₀, X₁) → f300(1+X₀, X₁) :|: 1 ≤ E ∧ 1+X₀ ≤ X₁ of depth 1:

new bound:

X₀+X₁ {O(n)}

MPRF:

• f300: [X₁-X₀]

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

new bound:

X₀+X₁ {O(n)}

MPRF:

• f300: [X₁-X₀]

MPRF for transition t₁₄: f300(X₀, X₁) → f300(X₀, X₁-1) :|: 1+X₀ ≤ X₁ of depth 1:

new bound:

X₀+X₁ {O(n)}

MPRF:

• f300: [X₁-X₀]

All Bounds

Timebounds

Overall timebound:3⋅X₀+3⋅X₁+2 {O(n)}
t₁₀: 1 {O(1)}
t₁₁: 1 {O(1)}
t₁₂: X₀+X₁ {O(n)}
t₁₃: X₀+X₁ {O(n)}
t₁₄: X₀+X₁ {O(n)}

Costbounds

Overall costbound: 3⋅X₀+3⋅X₁+2 {O(n)}
t₁₀: 1 {O(1)}
t₁₁: 1 {O(1)}
t₁₂: X₀+X₁ {O(n)}
t₁₃: X₀+X₁ {O(n)}
t₁₄: X₀+X₁ {O(n)}

Sizebounds

t₁₀, X₀: X₀ {O(n)}
t₁₀, X₁: X₁ {O(n)}
t₁₁, X₀: 10⋅X₀+6⋅X₁ {O(n)}
t₁₁, X₁: 3⋅X₀+7⋅X₁ {O(n)}
t₁₂, X₀: 2⋅X₁+3⋅X₀ {O(n)}
t₁₂, X₁: 2⋅X₁+X₀ {O(n)}
t₁₃, X₀: 2⋅X₁+3⋅X₀ {O(n)}
t₁₃, X₁: 2⋅X₁+X₀ {O(n)}
t₁₄, X₀: 2⋅X₁+3⋅X₀ {O(n)}
t₁₄, X₁: 2⋅X₁+X₀ {O(n)}