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₁, 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+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₀]

Found invariant 1+X₀ ≤ X₁ for location f300_v1

Found invariant X₁ ≤ X₀ for location f1

Found invariant X₀ ≤ X₁ for location f300_v2

All Bounds

Timebounds

Overall timebound:inf {Infinity}
t₁₁: 1 {O(1)}
t₁₂: 1 {O(1)}
t₁₃: X₀+X₁ {O(n)}
t₁₄: X₀+X₁ {O(n)}
t₁₅: inf {Infinity}

Costbounds

Overall costbound: inf {Infinity}
t₁₁: 1 {O(1)}
t₁₂: 1 {O(1)}
t₁₃: X₀+X₁ {O(n)}
t₁₄: X₀+X₁ {O(n)}
t₁₅: inf {Infinity}

Sizebounds

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