Initial Problem

Start: evalfstart
Program_Vars: X₀, X₁, X₂
Temp_Vars: D
Locations: evalfbb1in, evalfbb2in, evalfbb3in, evalfbb4in, evalfbb5in, evalfbb6in, evalfentryin, evalfreturnin, evalfstart, evalfstop
Transitions:
t₁₂: evalfbb1in(X₀, X₁, X₂) → evalfbb2in(X₀, X₁, 1+X₂)
t₈: evalfbb2in(X₀, X₁, X₂) → evalfbb3in(X₀, X₁, X₂) :|: 1+X₂ ≤ X₁
t₇: evalfbb2in(X₀, X₁, X₂) → evalfbb4in(X₀, X₁, X₂) :|: X₁ ≤ X₂
t₉: evalfbb3in(X₀, X₁, X₂) → evalfbb1in(X₀, X₁, X₂) :|: 1+D ≤ 0
t₁₀: evalfbb3in(X₀, X₁, X₂) → evalfbb1in(X₀, X₁, X₂) :|: 1 ≤ D
t₁₁: evalfbb3in(X₀, X₁, X₂) → evalfbb4in(X₀, X₁, X₂)
t₁₃: evalfbb4in(X₀, X₁, X₂) → evalfbb5in(1+X₂, X₁, X₂)
t₃: evalfbb5in(X₀, X₁, X₂) → evalfbb6in(X₀, X₁, X₂) :|: 1+X₀ ≤ X₁
t₂: evalfbb5in(X₀, X₁, X₂) → evalfreturnin(X₀, X₁, X₂) :|: X₁ ≤ X₀
t₄: evalfbb6in(X₀, X₁, X₂) → evalfbb2in(X₀, X₁, X₀) :|: 1+D ≤ 0
t₅: evalfbb6in(X₀, X₁, X₂) → evalfbb2in(X₀, X₁, X₀) :|: 1 ≤ D
t₆: evalfbb6in(X₀, X₁, X₂) → evalfreturnin(X₀, X₁, X₂)
t₁: evalfentryin(X₀, X₁, X₂) → evalfbb5in(0, X₁, X₂)
t₁₄: evalfreturnin(X₀, X₁, X₂) → evalfstop(X₀, X₁, X₂)
t₀: evalfstart(X₀, X₁, X₂) → evalfentryin(X₀, X₁, X₂)

Preprocessing

Found invariant 0 ≤ X₀ for location evalfbb5in

Found invariant 0 ≤ X₀ for location evalfreturnin

Found invariant 1+X₂ ≤ X₁ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location evalfbb1in

Found invariant X₂ ≤ X₁ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location evalfbb2in

Found invariant 1+X₂ ≤ X₁ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location evalfbb3in

Found invariant 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location evalfbb6in

Found invariant 0 ≤ X₀ for location evalfstop

Found invariant X₂ ≤ X₁ ∧ 0 ≤ X₂ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 1 ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ for location evalfbb4in

Problem after Preprocessing

Start: evalfstart
Program_Vars: X₀, X₁, X₂
Temp_Vars: D
Locations: evalfbb1in, evalfbb2in, evalfbb3in, evalfbb4in, evalfbb5in, evalfbb6in, evalfentryin, evalfreturnin, evalfstart, evalfstop
Transitions:
t₁₂: evalfbb1in(X₀, X₁, X₂) → evalfbb2in(X₀, X₁, 1+X₂) :|: 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 1+X₂ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 0 ≤ X₂
t₈: evalfbb2in(X₀, X₁, X₂) → evalfbb3in(X₀, X₁, X₂) :|: 1+X₂ ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ X₂
t₇: evalfbb2in(X₀, X₁, X₂) → evalfbb4in(X₀, X₁, X₂) :|: X₁ ≤ X₂ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ X₂
t₉: evalfbb3in(X₀, X₁, X₂) → evalfbb1in(X₀, X₁, X₂) :|: 1+D ≤ 0 ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 1+X₂ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 0 ≤ X₂
t₁₀: evalfbb3in(X₀, X₁, X₂) → evalfbb1in(X₀, X₁, X₂) :|: 1 ≤ D ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 1+X₂ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 0 ≤ X₂
t₁₁: evalfbb3in(X₀, X₁, X₂) → evalfbb4in(X₀, X₁, X₂) :|: 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 1+X₂ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 0 ≤ X₂
t₁₃: evalfbb4in(X₀, X₁, X₂) → evalfbb5in(1+X₂, X₁, X₂) :|: 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ X₂
t₃: evalfbb5in(X₀, X₁, X₂) → evalfbb6in(X₀, X₁, X₂) :|: 1+X₀ ≤ X₁ ∧ 0 ≤ X₀
t₂: evalfbb5in(X₀, X₁, X₂) → evalfreturnin(X₀, X₁, X₂) :|: X₁ ≤ X₀ ∧ 0 ≤ X₀
t₄: evalfbb6in(X₀, X₁, X₂) → evalfbb2in(X₀, X₁, X₀) :|: 1+D ≤ 0 ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 0 ≤ X₀
t₅: evalfbb6in(X₀, X₁, X₂) → evalfbb2in(X₀, X₁, X₀) :|: 1 ≤ D ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 0 ≤ X₀
t₆: evalfbb6in(X₀, X₁, X₂) → evalfreturnin(X₀, X₁, X₂) :|: 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 0 ≤ X₀
t₁: evalfentryin(X₀, X₁, X₂) → evalfbb5in(0, X₁, X₂)
t₁₄: evalfreturnin(X₀, X₁, X₂) → evalfstop(X₀, X₁, X₂) :|: 0 ≤ X₀
t₀: evalfstart(X₀, X₁, X₂) → evalfentryin(X₀, X₁, X₂)

MPRF for transition t₃: evalfbb5in(X₀, X₁, X₂) → evalfbb6in(X₀, X₁, X₂) :|: 1+X₀ ≤ X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

X₁ {O(n)}

MPRF:

• evalfbb1in: [X₁-1-X₀]
• evalfbb2in: [X₁-1-X₀]
• evalfbb3in: [X₁-1-X₀]
• evalfbb4in: [X₁-1-X₀]
• evalfbb5in: [X₁-X₀]
• evalfbb6in: [X₁-1-X₀]

MPRF for transition t₄: evalfbb6in(X₀, X₁, X₂) → evalfbb2in(X₀, X₁, X₀) :|: 1+D ≤ 0 ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

X₁ {O(n)}

MPRF:

• evalfbb1in: [X₁-1-X₂]
• evalfbb2in: [X₁-1-X₂]
• evalfbb3in: [X₁-1-X₂]
• evalfbb4in: [X₁-1-X₂]
• evalfbb5in: [X₁-X₀]
• evalfbb6in: [X₁-X₀]

MPRF for transition t₅: evalfbb6in(X₀, X₁, X₂) → evalfbb2in(X₀, X₁, X₀) :|: 1 ≤ D ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 0 ≤ X₀ of depth 1:

new bound:

X₁+1 {O(n)}

MPRF:

• evalfbb1in: [X₁-X₀]
• evalfbb2in: [X₁-X₀]
• evalfbb3in: [X₁-X₀]
• evalfbb4in: [X₁-X₀]
• evalfbb5in: [1+X₁-X₀]
• evalfbb6in: [1+X₁-X₀]

MPRF for transition t₇: evalfbb2in(X₀, X₁, X₂) → evalfbb4in(X₀, X₁, X₂) :|: X₁ ≤ X₂ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ X₂ of depth 1:

new bound:

X₁+1 {O(n)}

MPRF:

• evalfbb1in: [1+X₁-X₀]
• evalfbb2in: [1+X₁-X₀]
• evalfbb3in: [1+X₁-X₀]
• evalfbb4in: [X₁-X₂]
• evalfbb5in: [1+X₁-X₀]
• evalfbb6in: [1+X₁-X₀]

MPRF for transition t₈: evalfbb2in(X₀, X₁, X₂) → evalfbb3in(X₀, X₁, X₂) :|: 1+X₂ ≤ X₁ ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ X₂ of depth 1:

new bound:

X₁+1 {O(n)}

MPRF:

• evalfbb1in: [X₁-X₂]
• evalfbb2in: [1+X₁-X₂]
• evalfbb3in: [X₁-X₂]
• evalfbb4in: [X₁-X₂]
• evalfbb5in: [1+X₁-X₀]
• evalfbb6in: [1+X₁-X₀]

MPRF for transition t₉: evalfbb3in(X₀, X₁, X₂) → evalfbb1in(X₀, X₁, X₂) :|: 1+D ≤ 0 ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 1+X₂ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 0 ≤ X₂ of depth 1:

new bound:

X₁ {O(n)}

MPRF:

• evalfbb1in: [X₁-1-X₂]
• evalfbb2in: [X₁-X₂]
• evalfbb3in: [X₁-X₂]
• evalfbb4in: [X₁-X₂]
• evalfbb5in: [X₁-X₀]
• evalfbb6in: [X₁-X₀]

MPRF for transition t₁₀: evalfbb3in(X₀, X₁, X₂) → evalfbb1in(X₀, X₁, X₂) :|: 1 ≤ D ∧ 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 1+X₂ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 0 ≤ X₂ of depth 1:

new bound:

X₁+1 {O(n)}

MPRF:

• evalfbb1in: [X₁-X₂]
• evalfbb2in: [1+X₁-X₂]
• evalfbb3in: [1+X₁-X₂]
• evalfbb4in: [X₁-X₂]
• evalfbb5in: [1+X₁-X₀]
• evalfbb6in: [1+X₁-X₀]

MPRF for transition t₁₁: evalfbb3in(X₀, X₁, X₂) → evalfbb4in(X₀, X₁, X₂) :|: 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 1+X₂ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 0 ≤ X₂ of depth 1:

new bound:

X₁ {O(n)}

MPRF:

• evalfbb1in: [X₁-X₀]
• evalfbb2in: [X₁-X₀]
• evalfbb3in: [X₁-X₀]
• evalfbb4in: [X₁-1-X₂]
• evalfbb5in: [X₁-X₀]
• evalfbb6in: [X₁-X₀]

MPRF for transition t₁₂: evalfbb1in(X₀, X₁, X₂) → evalfbb2in(X₀, X₁, 1+X₂) :|: 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 1+X₂ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ 0 ≤ X₂ of depth 1:

new bound:

X₁ {O(n)}

MPRF:

• evalfbb1in: [X₁-X₂]
• evalfbb2in: [X₁-X₂]
• evalfbb3in: [X₁-X₂]
• evalfbb4in: [X₁-X₂]
• evalfbb5in: [X₁-X₀]
• evalfbb6in: [X₁-X₀]

MPRF for transition t₁₃: evalfbb4in(X₀, X₁, X₂) → evalfbb5in(1+X₂, X₁, X₂) :|: 1 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₁ ∧ 1 ≤ X₁+X₂ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₂ ∧ X₀ ≤ X₂ ∧ X₂ ≤ X₁ ∧ 0 ≤ X₂ of depth 1:

new bound:

2⋅X₁+1 {O(n)}

MPRF:

• evalfbb1in: [2⋅X₁-X₀-X₂]
• evalfbb2in: [1+2⋅X₁-X₀-X₂]
• evalfbb3in: [1+2⋅X₁-X₀-X₂]
• evalfbb4in: [1+2⋅X₁-2⋅X₂]
• evalfbb5in: [1+2⋅X₁-2⋅X₀]
• evalfbb6in: [1+2⋅X₁-2⋅X₀]

All Bounds

Timebounds

Overall timebound:11⋅X₁+10 {O(n)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 1 {O(1)}
t₃: X₁ {O(n)}
t₄: X₁ {O(n)}
t₅: X₁+1 {O(n)}
t₆: 1 {O(1)}
t₇: X₁+1 {O(n)}
t₈: X₁+1 {O(n)}
t₉: X₁ {O(n)}
t₁₀: X₁+1 {O(n)}
t₁₁: X₁ {O(n)}
t₁₂: X₁ {O(n)}
t₁₃: 2⋅X₁+1 {O(n)}
t₁₄: 1 {O(1)}

Costbounds

Overall costbound: 11⋅X₁+10 {O(n)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 1 {O(1)}
t₃: X₁ {O(n)}
t₄: X₁ {O(n)}
t₅: X₁+1 {O(n)}
t₆: 1 {O(1)}
t₇: X₁+1 {O(n)}
t₈: X₁+1 {O(n)}
t₉: X₁ {O(n)}
t₁₀: X₁+1 {O(n)}
t₁₁: X₁ {O(n)}
t₁₂: X₁ {O(n)}
t₁₃: 2⋅X₁+1 {O(n)}
t₁₄: 1 {O(1)}

Sizebounds

t₀, X₀: X₀ {O(n)}
t₀, X₁: X₁ {O(n)}
t₀, X₂: X₂ {O(n)}
t₁, X₀: 0 {O(1)}
t₁, X₁: X₁ {O(n)}
t₁, X₂: X₂ {O(n)}
t₂, X₀: 3⋅X₁+1 {O(n)}
t₂, X₁: 2⋅X₁ {O(n)}
t₂, X₂: 6⋅X₁+X₂+2 {O(n)}
t₃, X₀: 3⋅X₁+1 {O(n)}
t₃, X₁: X₁ {O(n)}
t₃, X₂: 6⋅X₁+X₂+2 {O(n)}
t₄, X₀: 3⋅X₁+1 {O(n)}
t₄, X₁: X₁ {O(n)}
t₄, X₂: 3⋅X₁+1 {O(n)}
t₅, X₀: 3⋅X₁+1 {O(n)}
t₅, X₁: X₁ {O(n)}
t₅, X₂: 3⋅X₁+1 {O(n)}
t₆, X₀: 3⋅X₁+1 {O(n)}
t₆, X₁: X₁ {O(n)}
t₆, X₂: 6⋅X₁+X₂+2 {O(n)}
t₇, X₀: 6⋅X₁+2 {O(n)}
t₇, X₁: X₁ {O(n)}
t₇, X₂: 3⋅X₁+1 {O(n)}
t₈, X₀: 6⋅X₁+2 {O(n)}
t₈, X₁: X₁ {O(n)}
t₈, X₂: 3⋅X₁+1 {O(n)}
t₉, X₀: 6⋅X₁+2 {O(n)}
t₉, X₁: X₁ {O(n)}
t₉, X₂: 3⋅X₁+1 {O(n)}
t₁₀, X₀: 6⋅X₁+2 {O(n)}
t₁₀, X₁: X₁ {O(n)}
t₁₀, X₂: 3⋅X₁+1 {O(n)}
t₁₁, X₀: 6⋅X₁+2 {O(n)}
t₁₁, X₁: X₁ {O(n)}
t₁₁, X₂: 3⋅X₁+1 {O(n)}
t₁₂, X₀: 6⋅X₁+2 {O(n)}
t₁₂, X₁: X₁ {O(n)}
t₁₂, X₂: 3⋅X₁+1 {O(n)}
t₁₃, X₀: 3⋅X₁+1 {O(n)}
t₁₃, X₁: X₁ {O(n)}
t₁₃, X₂: 6⋅X₁+2 {O(n)}
t₁₄, X₀: 6⋅X₁+2 {O(n)}
t₁₄, X₁: 3⋅X₁ {O(n)}
t₁₄, X₂: 12⋅X₁+2⋅X₂+4 {O(n)}