Start: f3
Program_Vars: X₀, X₁, X₂
Temp_Vars: D
Locations: f1, f2, f3, f300
Transitions:
t₀: f2(X₀, X₁, X₂) → f2(X₀-1, X₁, X₂) :|: 31 ≤ X₀
t₁: f2(X₀, X₁, X₂) → f300(X₀, X₁-1, X₂) :|: X₀ ≤ 30
t₄: f3(X₀, X₁, X₂) → f300(X₀, X₁, X₂)
t₃: f300(X₀, X₁, X₂) → f1(X₀, X₁, D) :|: X₁ ≤ 20
t₂: f300(X₀, X₁, X₂) → f2(X₀, X₁, X₂) :|: 21 ≤ X₁
Eliminate variables [D; X₂] that do not contribute to the problem
Found invariant X₁ ≤ 20 for location f1
Found invariant 21 ≤ X₁ for location f2
Start: f3
Program_Vars: X₀, X₁
Temp_Vars:
Locations: f1, f2, f3, f300
Transitions:
t₉: f2(X₀, X₁) → f2(X₀-1, X₁) :|: 31 ≤ X₀ ∧ 21 ≤ X₁
t₁₀: f2(X₀, X₁) → f300(X₀, X₁-1) :|: X₀ ≤ 30 ∧ 21 ≤ X₁
t₁₁: f3(X₀, X₁) → f300(X₀, X₁)
t₁₂: f300(X₀, X₁) → f1(X₀, X₁) :|: X₁ ≤ 20
t₁₃: f300(X₀, X₁) → f2(X₀, X₁) :|: 21 ≤ X₁
new bound:
X₀ {O(n)}
MPRF:
• f2: [X₀]
• f300: [X₀]
new bound:
X₁+20 {O(n)}
MPRF:
• f2: [X₁-20]
• f300: [X₁-20]
new bound:
X₁+20 {O(n)}
MPRF:
• f2: [X₁-21]
• f300: [X₁-20]
Overall timebound:2⋅X₁+X₀+42 {O(n)}
t₉: X₀ {O(n)}
t₁₀: X₁+20 {O(n)}
t₁₁: 1 {O(1)}
t₁₂: 1 {O(1)}
t₁₃: X₁+20 {O(n)}
Overall costbound: 2⋅X₁+X₀+42 {O(n)}
t₉: X₀ {O(n)}
t₁₀: X₁+20 {O(n)}
t₁₁: 1 {O(1)}
t₁₂: 1 {O(1)}
t₁₃: X₁+20 {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₀: 2⋅X₀ {O(n)}
t₁₂, X₁: 2⋅X₁ {O(n)}
t₁₃, X₀: X₀ {O(n)}
t₁₃, X₁: X₁ {O(n)}