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₁
Eliminate variables [X₂; X₃] that do not contribute to the problem
Found invariant X₁ ≤ X₀ for location f1
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₁
new bound:
X₀+X₁ {O(n)}
MPRF:
• f300: [X₁-X₀]
new bound:
X₀+X₁ {O(n)}
MPRF:
• f300: [X₁-X₀]
new bound:
X₀+X₁ {O(n)}
MPRF:
• f300: [X₁-X₀]
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)}
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)}
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)}