Start: f3
Program_Vars: X₀, X₁, X₂, X₃
Temp_Vars: E
Locations: f1, f2, f3
Transitions:
t₃: f1(X₀, X₁, X₂, X₃) → f1(0, 1+X₁, X₂-1, X₃) :|: 1+X₁ ≤ X₂ ∧ 2+X₁ ≤ X₂ ∧ X₀ ≤ 0
t₁: f1(X₀, X₁, X₂, X₃) → f2(X₀, X₁, X₂, E) :|: X₂ ≤ X₁
t₂: f1(X₀, X₁, X₂, X₃) → f2(1, 1+X₁, X₂, E) :|: X₂ ≤ 1+X₁ ∧ 1+X₁ ≤ X₂ ∧ X₀ ≤ 0
t₀: f3(X₀, X₁, X₂, X₃) → f1(0, X₁, X₂, X₃)
Eliminate variables [E; X₃] that do not contribute to the problem
Found invariant X₀ ≤ 0 ∧ 0 ≤ X₀ for location f1
Found invariant X₂ ≤ X₁ ∧ X₀ ≤ 1 ∧ 0 ≤ X₀ for location f2
Start: f3
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: f1, f2, f3
Transitions:
t₇: f1(X₀, X₁, X₂) → f1(0, 1+X₁, X₂-1) :|: 1+X₁ ≤ X₂ ∧ 2+X₁ ≤ X₂ ∧ X₀ ≤ 0 ∧ 0 ≤ X₀
t₈: f1(X₀, X₁, X₂) → f2(X₀, X₁, X₂) :|: X₂ ≤ X₁ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0
t₉: f1(X₀, X₁, X₂) → f2(1, 1+X₁, X₂) :|: X₂ ≤ 1+X₁ ∧ 1+X₁ ≤ X₂ ∧ X₀ ≤ 0 ∧ 0 ≤ X₀
t₁₀: f3(X₀, X₁, X₂) → f1(0, X₁, X₂)
new bound:
X₁+X₂ {O(n)}
MPRF:
• f1: [X₂-X₁]
Overall timebound:X₁+X₂+3 {O(n)}
t₇: X₁+X₂ {O(n)}
t₈: 1 {O(1)}
t₉: 1 {O(1)}
t₁₀: 1 {O(1)}
Overall costbound: X₁+X₂+3 {O(n)}
t₇: X₁+X₂ {O(n)}
t₈: 1 {O(1)}
t₉: 1 {O(1)}
t₁₀: 1 {O(1)}
t₇, X₀: 0 {O(1)}
t₇, X₁: 2⋅X₁+X₂ {O(n)}
t₇, X₂: 2⋅X₂+X₁ {O(n)}
t₈, X₀: 0 {O(1)}
t₈, X₁: 3⋅X₁+X₂ {O(n)}
t₈, X₂: 3⋅X₂+X₁ {O(n)}
t₉, X₀: 1 {O(1)}
t₉, X₁: 3⋅X₁+X₂+2 {O(n)}
t₉, X₂: 3⋅X₂+X₁ {O(n)}
t₁₀, X₀: 0 {O(1)}
t₁₀, X₁: X₁ {O(n)}
t₁₀, X₂: X₂ {O(n)}