Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, l1a, l1b, l1c, l2
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₂)
t₄: l1(X₀, X₁, X₂) → l1(X₀-1, X₁, 1+(X₁)²+X₂) :|: 1 ≤ X₀
t₁: l1(X₀, X₁, X₂) → l1a(X₀-1, X₁, X₂) :|: 1 ≤ X₀
t₅: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂)
t₂: l1b(X₀, X₁, X₂) → l1c(X₀, X₁, X₂)
t₃: l1c(X₀, X₁, X₂) → l1(X₀, X₁, (X₁)²+X₂)
t₆: l2(X₀, X₁, X₂) → l2(X₀, X₁, X₂-1) :|: 1 ≤ X₂
Cut unreachable locations [l1b; l1c] from the program graph
Found invariant 0 ≤ X₀ for location l1a
Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, l1a, l2
Transitions:
t₀: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₂)
t₄: l1(X₀, X₁, X₂) → l1(X₀-1, X₁, 1+(X₁)²+X₂) :|: 1 ≤ X₀
t₁: l1(X₀, X₁, X₂) → l1a(X₀-1, X₁, X₂) :|: 1 ≤ X₀
t₅: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂)
t₆: l2(X₀, X₁, X₂) → l2(X₀, X₁, X₂-1) :|: 1 ≤ X₂
new bound:
X₀ {O(n)}
MPRF:
• l1: [X₀]
new bound:
X₀⋅X₁⋅X₁+2⋅X₁⋅X₁+2⋅X₂+X₀+2 {O(n^3)}
MPRF:
• l2: [X₂]
Found invariant 0 ≤ X₀ for location l1a
Found invariant 0 ≤ X₂ for location l2_v1
Overall timebound:X₀⋅X₁⋅X₁+2⋅X₁⋅X₁+2⋅X₀+2⋅X₂+5 {O(n^3)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₄: X₀ {O(n)}
t₅: 1 {O(1)}
t₆: X₀⋅X₁⋅X₁+2⋅X₁⋅X₁+2⋅X₂+X₀+2 {O(n^3)}
Overall costbound: X₀⋅X₁⋅X₁+2⋅X₁⋅X₁+2⋅X₀+2⋅X₂+5 {O(n^3)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₄: X₀ {O(n)}
t₅: 1 {O(1)}
t₆: X₀⋅X₁⋅X₁+2⋅X₁⋅X₁+2⋅X₂+X₀+2 {O(n^3)}
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₀⋅X₁⋅X₁+2⋅X₁⋅X₁+2⋅X₂+X₀+2 {O(n^3)}
t₄, X₀: X₀ {O(n)}
t₄, X₁: X₁ {O(n)}
t₄, X₂: X₀⋅X₁⋅X₁+2⋅X₁⋅X₁+X₀+X₂+2 {O(n^3)}
t₅, X₀: 2⋅X₀ {O(n)}
t₅, X₁: 2⋅X₁ {O(n)}
t₅, X₂: X₀⋅X₁⋅X₁+2⋅X₁⋅X₁+2⋅X₂+X₀+2 {O(n^3)}
t₆, X₀: 2⋅X₀ {O(n)}
t₆, X₁: 2⋅X₁ {O(n)}
t₆, X₂: X₀⋅X₁⋅X₁+2⋅X₁⋅X₁+2⋅X₂+X₀+2 {O(n^3)}