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(X₀, X₁, E, X₃) :|: 1 ≤ E ∧ 1+X₀ ≤ X₁
t₂: f300(X₀, X₁, X₂, X₃) → f300(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(X₀, X₁) :|: 1 ≤ E ∧ 1+X₀ ≤ X₁
t₁₃: f300(X₀, X₁) → f300(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(X₀, X₁-1) :|: 1+X₀ ≤ X₁ of depth 1:

new bound:

X₀+X₁ {O(n)}

MPRF:

• f300: [X₁-X₀]

Found invariant X₀ ≤ X₁ for location f300_v1

Found invariant X₁ ≤ X₀ for location f1

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

All Bounds

Timebounds

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

Costbounds

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

Sizebounds

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