Initial Problem

Start: l0
Program_Vars: X₀, X₁, X₂, X₃
Temp_Vars:
Locations: l0, l1, l2
Transitions:
t₀: l0(X₀, X₁, X₂, X₃) → l1(X₀, X₁, X₂, X₃)
t₁: l1(X₀, X₁, X₂, X₃) → l1(X₀-1, 3⋅X₁+2⋅X₂, -5⋅X₁-3⋅X₂, (X₀)²+X₃) :|: 0 < X₀
t₂: l1(X₀, X₁, X₂, X₃) → l2(X₀, X₁, X₂, X₃)
t₃: l2(X₀, X₁, X₂, X₃) → l2(X₀, X₁-1, X₂-1, X₃) :|: 0 < X₁+X₂

Preprocessing

Eliminate variables {X₃} that do not contribute to the problem

Problem after Preprocessing

Start: l0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: l0, l1, l2
Transitions:
t₉: l0(X₀, X₁, X₂) → l1(X₀, X₁, X₂)
t₁₀: l1(X₀, X₁, X₂) → l1(X₀-1, 3⋅X₁+2⋅X₂, -5⋅X₁-3⋅X₂) :|: 0 < X₀
t₁₁: l1(X₀, X₁, X₂) → l2(X₀, X₁, X₂)
t₁₂: l2(X₀, X₁, X₂) → l2(X₀, X₁-1, X₂-1) :|: 0 < X₁+X₂

Solv. Size Bound: t₁₀: l1→l1 for X₁

cycle: [t₁₀: l1→l1]
loop: (0 < X₀,(X₁,X₂) -> (3⋅X₁+2⋅X₂,-5⋅X₁-3⋅X₂)
overappr. closed-form: 2⋅X₂+6⋅X₁ {O(n)}
runtime bound: X₀+1 {O(n)}

Solv. Size Bound - Lifting for t₁₀: l1→l1 and X₁: 2⋅X₂+6⋅X₁ {O(n)}

Solv. Size Bound: t₁₀: l1→l1 for X₂

cycle: [t₁₀: l1→l1]
loop: (0 < X₀,(X₁,X₂) -> (3⋅X₁+2⋅X₂,-5⋅X₁-3⋅X₂)
overappr. closed-form: 6⋅X₁+6⋅X₂ {O(n)}
runtime bound: X₀+1 {O(n)}

Solv. Size Bound - Lifting for t₁₀: l1→l1 and X₂: 6⋅X₁+6⋅X₂ {O(n)}

MPRF for transition t₁₀: l1(X₀, X₁, X₂) → l1(X₀-1, 3⋅X₁+2⋅X₂, -5⋅X₁-3⋅X₂) :|: 0 < X₀ of depth 1:

new bound:

X₀ {O(n)}

MPRF for transition t₁₂: l2(X₀, X₁, X₂) → l2(X₀, X₁-1, X₂-1) :|: 0 < X₁+X₂ of depth 1:

new bound:

13⋅X₁+9⋅X₂ {O(n)}

All Bounds

Timebounds

Overall timebound:13⋅X₁+9⋅X₂+X₀+2 {O(n)}
t₉: 1 {O(1)}
t₁₀: X₀ {O(n)}
t₁₁: 1 {O(1)}
t₁₂: 13⋅X₁+9⋅X₂ {O(n)}

Costbounds

Overall costbound: 13⋅X₁+9⋅X₂+X₀+2 {O(n)}
t₉: 1 {O(1)}
t₁₀: X₀ {O(n)}
t₁₁: 1 {O(1)}
t₁₂: 13⋅X₁+9⋅X₂ {O(n)}

Sizebounds

t₉, X₀: X₀ {O(n)}
t₉, X₁: X₁ {O(n)}
t₉, X₂: X₂ {O(n)}
t₁₀, X₀: X₀ {O(n)}
t₁₀, X₁: 2⋅X₂+6⋅X₁ {O(n)}
t₁₀, X₂: 6⋅X₁+6⋅X₂ {O(n)}
t₁₁, X₀: 2⋅X₀ {O(n)}
t₁₁, X₁: 2⋅X₂+7⋅X₁ {O(n)}
t₁₁, X₂: 6⋅X₁+7⋅X₂ {O(n)}
t₁₂, X₀: 2⋅X₀ {O(n)}
t₁₂, X₁: 11⋅X₂+20⋅X₁ {O(n)}
t₁₂, X₂: 16⋅X₂+19⋅X₁ {O(n)}