Initial Problem

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₂

Preprocessing

Cut unreachable locations [l1b; l1c] from the program graph

Found invariant 0 ≤ X₀ for location l1a

Problem after Preprocessing

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₂

MPRF for transition t₄: l1(X₀, X₁, X₂) → l1(X₀-1, X₁, Temp_Int₆₅+Temp_Int₆₆+X₂) :|: 1 ≤ X₀ ∧ 0 ≤ Temp_Int₆₆ of depth 1:

new bound:

X₀ {O(n)}

MPRF:

• l1: [X₀]

MPRF for transition t₆: l2(X₀, X₁, X₂) → l2(X₀, X₁, X₂-1) :|: 1 ≤ X₂ of depth 1:

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

All Bounds

Timebounds

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)}

Costbounds

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)}

Sizebounds

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)}