Initial Problem

Start: evalwisestart
Program_Vars: X₀, X₁
Temp_Vars:
Locations: evalwisebb3in, evalwisebb4in, evalwisebb5in, evalwisebb6in, evalwiseentryin, evalwisereturnin, evalwisestart, evalwisestop
Transitions:
t₇: evalwisebb3in(X₀, X₁) → evalwisebb4in(X₀, X₁) :|: 1+X₁ ≤ X₀
t₈: evalwisebb3in(X₀, X₁) → evalwisebb5in(X₀, X₁) :|: X₀ ≤ X₁
t₉: evalwisebb4in(X₀, X₁) → evalwisebb6in(X₀, 1+X₁)
t₁₀: evalwisebb5in(X₀, X₁) → evalwisebb6in(1+X₀, X₁)
t₄: evalwisebb6in(X₀, X₁) → evalwisebb3in(X₀, X₁) :|: 3+X₀ ≤ X₁
t₅: evalwisebb6in(X₀, X₁) → evalwisebb3in(X₀, X₁) :|: 3+X₁ ≤ X₀
t₆: evalwisebb6in(X₀, X₁) → evalwisereturnin(X₀, X₁) :|: X₁ ≤ 2+X₀ ∧ X₀ ≤ 2+X₁
t₃: evalwiseentryin(X₀, X₁) → evalwisebb6in(X₁, X₀) :|: 0 ≤ X₀ ∧ 0 ≤ X₁
t₁: evalwiseentryin(X₀, X₁) → evalwisereturnin(X₀, X₁) :|: 1+X₀ ≤ 0
t₂: evalwiseentryin(X₀, X₁) → evalwisereturnin(X₀, X₁) :|: 1+X₁ ≤ 0
t₁₁: evalwisereturnin(X₀, X₁) → evalwisestop(X₀, X₁)
t₀: evalwisestart(X₀, X₁) → evalwiseentryin(X₀, X₁)

Preprocessing

Found invariant 1+X₁ ≤ X₀ ∧ 0 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 2 ≤ X₀ for location evalwisebb4in

Found invariant 0 ≤ X₁ ∧ 0 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location evalwisebb6in

Found invariant 0 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location evalwisebb3in

Found invariant 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 0 ≤ X₀ for location evalwisebb5in

Problem after Preprocessing

Start: evalwisestart
Program_Vars: X₀, X₁
Temp_Vars:
Locations: evalwisebb3in, evalwisebb4in, evalwisebb5in, evalwisebb6in, evalwiseentryin, evalwisereturnin, evalwisestart, evalwisestop
Transitions:
t₇: evalwisebb3in(X₀, X₁) → evalwisebb4in(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₁
t₈: evalwisebb3in(X₀, X₁) → evalwisebb5in(X₀, X₁) :|: X₀ ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₁
t₉: evalwisebb4in(X₀, X₁) → evalwisebb6in(X₀, 1+X₁) :|: 1+X₁ ≤ X₀ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₁
t₁₀: evalwisebb5in(X₀, X₁) → evalwisebb6in(1+X₀, X₁) :|: 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ X₀ ≤ X₁
t₄: evalwisebb6in(X₀, X₁) → evalwisebb3in(X₀, X₁) :|: 3+X₀ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ 0 ≤ X₁
t₅: evalwisebb6in(X₀, X₁) → evalwisebb3in(X₀, X₁) :|: 3+X₁ ≤ X₀ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ 0 ≤ X₁
t₆: evalwisebb6in(X₀, X₁) → evalwisereturnin(X₀, X₁) :|: X₁ ≤ 2+X₀ ∧ X₀ ≤ 2+X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ 0 ≤ X₁
t₃: evalwiseentryin(X₀, X₁) → evalwisebb6in(X₁, X₀) :|: 0 ≤ X₀ ∧ 0 ≤ X₁
t₁: evalwiseentryin(X₀, X₁) → evalwisereturnin(X₀, X₁) :|: 1+X₀ ≤ 0
t₂: evalwiseentryin(X₀, X₁) → evalwisereturnin(X₀, X₁) :|: 1+X₁ ≤ 0
t₁₁: evalwisereturnin(X₀, X₁) → evalwisestop(X₀, X₁)
t₀: evalwisestart(X₀, X₁) → evalwiseentryin(X₀, X₁)

MPRF for transition t₄: evalwisebb6in(X₀, X₁) → evalwisebb3in(X₀, X₁) :|: 3+X₀ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ 0 ≤ X₁ of depth 1:

new bound:

X₀+X₁+2 {O(n)}

MPRF:

• evalwisebb3in: [X₁-3-X₀]
• evalwisebb5in: [X₁-3-X₀]
• evalwisebb6in: [X₁-2-X₀]

MPRF for transition t₅: evalwisebb6in(X₀, X₁) → evalwisebb3in(X₀, X₁) :|: 3+X₁ ≤ X₀ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ 0 ≤ X₁ of depth 1:

new bound:

X₀+X₁+2 {O(n)}

MPRF:

• evalwisebb3in: [X₀-3-X₁]
• evalwisebb4in: [X₀-3-X₁]
• evalwisebb6in: [X₀-2-X₁]

MPRF for transition t₇: evalwisebb3in(X₀, X₁) → evalwisebb4in(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₁ of depth 1:

new bound:

X₀+X₁ {O(n)}

MPRF:

• evalwisebb3in: [X₀-X₁]
• evalwisebb4in: [X₀-1-X₁]
• evalwisebb6in: [X₀-X₁]

MPRF for transition t₈: evalwisebb3in(X₀, X₁) → evalwisebb5in(X₀, X₁) :|: X₀ ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₁ of depth 1:

new bound:

X₀+X₁+2 {O(n)}

MPRF:

• evalwisebb3in: [2+X₁-X₀]
• evalwisebb5in: [1+X₁-X₀]
• evalwisebb6in: [2+X₁-X₀]

MPRF for transition t₉: evalwisebb4in(X₀, X₁) → evalwisebb6in(X₀, 1+X₁) :|: 1+X₁ ≤ X₀ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₁ of depth 1:

new bound:

X₀+X₁+2 {O(n)}

MPRF:

• evalwisebb3in: [2+X₀-X₁]
• evalwisebb4in: [2+X₀-X₁]
• evalwisebb6in: [2+X₀-X₁]

MPRF for transition t₁₀: evalwisebb5in(X₀, X₁) → evalwisebb6in(1+X₀, X₁) :|: 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ ∧ X₀ ≤ X₁ of depth 1:

new bound:

X₀+X₁+1 {O(n)}

MPRF:

• evalwisebb3in: [1+X₁-X₀]
• evalwisebb5in: [1+X₁-X₀]
• evalwisebb6in: [1+X₁-X₀]

All Bounds

Timebounds

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

Costbounds

Overall costbound: 6⋅X₀+6⋅X₁+15 {O(n)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 1 {O(1)}
t₃: 1 {O(1)}
t₄: X₀+X₁+2 {O(n)}
t₅: X₀+X₁+2 {O(n)}
t₆: 1 {O(1)}
t₇: X₀+X₁ {O(n)}
t₈: X₀+X₁+2 {O(n)}
t₉: X₀+X₁+2 {O(n)}
t₁₀: X₀+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₁: X₁ {O(n)}
t₂, X₀: X₀ {O(n)}
t₂, X₁: X₁ {O(n)}
t₃, X₀: X₁ {O(n)}
t₃, X₁: X₀ {O(n)}
t₄, X₀: 2⋅X₁+X₀+1 {O(n)}
t₄, X₁: X₀ {O(n)}
t₅, X₀: X₁ {O(n)}
t₅, X₁: 2⋅X₀+X₁+2 {O(n)}
t₆, X₀: 4⋅X₁+X₀+1 {O(n)}
t₆, X₁: 4⋅X₀+X₁+2 {O(n)}
t₇, X₀: X₁ {O(n)}
t₇, X₁: 2⋅X₀+X₁+2 {O(n)}
t₈, X₀: 2⋅X₁+X₀+1 {O(n)}
t₈, X₁: X₀ {O(n)}
t₉, X₀: X₁ {O(n)}
t₉, X₁: 2⋅X₀+X₁+2 {O(n)}
t₁₀, X₀: 2⋅X₁+X₀+1 {O(n)}
t₁₀, X₁: X₀ {O(n)}
t₁₁, X₀: 3⋅X₀+4⋅X₁+1 {O(n)}
t₁₁, X₁: 3⋅X₁+4⋅X₀+2 {O(n)}