Start: f1
Program_Vars: X₀, X₁, X₂
Temp_Vars: D
Locations: f1, f2, f300
Transitions:
t₃: f1(X₀, X₁, X₂) → f2(X₀, X₁, X₂)
t₀: f2(X₀, X₁, X₂) → f2(1+X₀, X₁, X₂) :|: 1+X₀ ≤ X₁
t₁: f2(X₀, X₁, X₂) → f2(1+X₀, X₁, X₂) :|: 1+X₁ ≤ X₀ ∧ X₁ ≤ X₀
t₂: f2(X₀, X₁, X₂) → f300(X₀, X₁, D) :|: X₁ ≤ X₀ ∧ X₀ ≤ X₁
Eliminate variables [D; X₂] that do not contribute to the problem
Found invariant X₁ ≤ X₀ ∧ X₀ ≤ X₁ for location f300
Start: f1
Program_Vars: X₀, X₁
Temp_Vars:
Locations: f1, f2, f300
Transitions:
t₁₂: f1(X₀, X₁) → f2(X₀, X₁)
t₁₃: f2(X₀, X₁) → f2(1+X₀, X₁) :|: 1+X₀ ≤ X₁
t₁₄: f2(X₀, X₁) → f2(1+X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ X₁ ≤ X₀
t₁₅: f2(X₀, X₁) → f300(X₀, X₁) :|: X₁ ≤ X₀ ∧ X₀ ≤ X₁
new bound:
X₀+X₁ {O(n)}
MPRF:
• f2: [X₁-X₀]
Found invariant X₁ ≤ X₀ ∧ X₀ ≤ X₁ for location f300
Found invariant 2+X₁ ≤ X₀ for location f2_v1
Found invariant X₀ ≤ X₁ for location f2_v2
Overall timebound:inf {Infinity}
t₁₂: 1 {O(1)}
t₁₃: X₀+X₁ {O(n)}
t₁₄: inf {Infinity}
t₁₅: 1 {O(1)}
Overall costbound: inf {Infinity}
t₁₂: 1 {O(1)}
t₁₃: X₀+X₁ {O(n)}
t₁₄: inf {Infinity}
t₁₅: 1 {O(1)}
t₁₂, X₀: X₀ {O(n)}
t₁₂, X₁: X₁ {O(n)}
t₁₃, X₀: 2⋅X₀+X₁ {O(n)}
t₁₃, X₁: X₁ {O(n)}
t₁₄, X₁: X₁ {O(n)}
t₁₅, X₀: 3⋅X₀+X₁ {O(n)}
t₁₅, X₁: 2⋅X₁ {O(n)}