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