Initial Problem

Start: evalsipmabubblestart
Program_Vars: X₀, X₁
Temp_Vars: C, D
Locations: evalsipmabubblebb1in, evalsipmabubblebb2in, evalsipmabubblebb3in, evalsipmabubblebb4in, evalsipmabubblebb5in, evalsipmabubblebb6in, evalsipmabubbleentryin, evalsipmabubblereturnin, evalsipmabubblestart, evalsipmabubblestop
Transitions:
t₆: evalsipmabubblebb1in(X₀, X₁) → evalsipmabubblebb2in(X₀, X₁) :|: 1+D ≤ C
t₇: evalsipmabubblebb1in(X₀, X₁) → evalsipmabubblebb3in(X₀, X₁) :|: C ≤ D
t₈: evalsipmabubblebb2in(X₀, X₁) → evalsipmabubblebb3in(X₀, X₁)
t₉: evalsipmabubblebb3in(X₀, X₁) → evalsipmabubblebb4in(X₀, 1+X₁)
t₄: evalsipmabubblebb4in(X₀, X₁) → evalsipmabubblebb1in(X₀, X₁) :|: 1+X₁ ≤ X₀
t₅: evalsipmabubblebb4in(X₀, X₁) → evalsipmabubblebb5in(X₀, X₁) :|: X₀ ≤ X₁
t₁₀: evalsipmabubblebb5in(X₀, X₁) → evalsipmabubblebb6in(X₀-1, X₁)
t₂: evalsipmabubblebb6in(X₀, X₁) → evalsipmabubblebb4in(X₀, 0) :|: 0 ≤ X₀
t₃: evalsipmabubblebb6in(X₀, X₁) → evalsipmabubblereturnin(X₀, X₁) :|: 1+X₀ ≤ 0
t₁: evalsipmabubbleentryin(X₀, X₁) → evalsipmabubblebb6in(X₀, X₁)
t₁₁: evalsipmabubblereturnin(X₀, X₁) → evalsipmabubblestop(X₀, X₁)
t₀: evalsipmabubblestart(X₀, X₁) → evalsipmabubbleentryin(X₀, X₁)

Preprocessing

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

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

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

Found invariant 1+X₀ ≤ 0 for location evalsipmabubblestop

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

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

Found invariant 1+X₀ ≤ 0 for location evalsipmabubblereturnin

Problem after Preprocessing

Start: evalsipmabubblestart
Program_Vars: X₀, X₁
Temp_Vars: C, D
Locations: evalsipmabubblebb1in, evalsipmabubblebb2in, evalsipmabubblebb3in, evalsipmabubblebb4in, evalsipmabubblebb5in, evalsipmabubblebb6in, evalsipmabubbleentryin, evalsipmabubblereturnin, evalsipmabubblestart, evalsipmabubblestop
Transitions:
t₆: evalsipmabubblebb1in(X₀, X₁) → evalsipmabubblebb2in(X₀, X₁) :|: 1+D ≤ C ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 0 ≤ X₁
t₇: evalsipmabubblebb1in(X₀, X₁) → evalsipmabubblebb3in(X₀, X₁) :|: C ≤ D ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 0 ≤ X₁
t₈: evalsipmabubblebb2in(X₀, X₁) → evalsipmabubblebb3in(X₀, X₁) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 0 ≤ X₁
t₉: evalsipmabubblebb3in(X₀, X₁) → evalsipmabubblebb4in(X₀, 1+X₁) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 0 ≤ X₁
t₄: evalsipmabubblebb4in(X₀, X₁) → evalsipmabubblebb1in(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₁
t₅: evalsipmabubblebb4in(X₀, X₁) → evalsipmabubblebb5in(X₀, X₁) :|: X₀ ≤ X₁ ∧ 0 ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ X₁ ≤ X₀ ∧ 0 ≤ X₁
t₁₀: evalsipmabubblebb5in(X₀, X₁) → evalsipmabubblebb6in(X₀-1, X₁) :|: 0 ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ 0 ≤ X₁
t₂: evalsipmabubblebb6in(X₀, X₁) → evalsipmabubblebb4in(X₀, 0) :|: 0 ≤ X₀
t₃: evalsipmabubblebb6in(X₀, X₁) → evalsipmabubblereturnin(X₀, X₁) :|: 1+X₀ ≤ 0
t₁: evalsipmabubbleentryin(X₀, X₁) → evalsipmabubblebb6in(X₀, X₁)
t₁₁: evalsipmabubblereturnin(X₀, X₁) → evalsipmabubblestop(X₀, X₁) :|: 1+X₀ ≤ 0
t₀: evalsipmabubblestart(X₀, X₁) → evalsipmabubbleentryin(X₀, X₁)

MPRF for transition t₂: evalsipmabubblebb6in(X₀, X₁) → evalsipmabubblebb4in(X₀, 0) :|: 0 ≤ X₀ of depth 1:

new bound:

X₀+1 {O(n)}

MPRF:

• evalsipmabubblebb1in: [X₀]
• evalsipmabubblebb2in: [X₀]
• evalsipmabubblebb3in: [X₀]
• evalsipmabubblebb4in: [X₀]
• evalsipmabubblebb5in: [X₀]
• evalsipmabubblebb6in: [1+X₀]

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

new bound:

X₀+1 {O(n)}

MPRF:

• evalsipmabubblebb1in: [1+X₀]
• evalsipmabubblebb2in: [1+X₀]
• evalsipmabubblebb3in: [1+X₀]
• evalsipmabubblebb4in: [1+X₀]
• evalsipmabubblebb5in: [X₁]
• evalsipmabubblebb6in: [1+X₀]

MPRF for transition t₁₀: evalsipmabubblebb5in(X₀, X₁) → evalsipmabubblebb6in(X₀-1, X₁) :|: 0 ≤ X₀ ∧ 0 ≤ X₀+X₁ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁ ∧ 0 ≤ X₁ of depth 1:

new bound:

X₀+1 {O(n)}

MPRF:

• evalsipmabubblebb1in: [1+X₀]
• evalsipmabubblebb2in: [1+X₀]
• evalsipmabubblebb3in: [1+X₀]
• evalsipmabubblebb4in: [1+X₀]
• evalsipmabubblebb5in: [1+X₁]
• evalsipmabubblebb6in: [1+X₀]

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

new bound:

X₀⋅X₀+4⋅X₀+3 {O(n^2)}

MPRF:

• evalsipmabubblebb1in: [X₀-X₁]
• evalsipmabubblebb2in: [X₀-X₁]
• evalsipmabubblebb3in: [X₀-X₁]
• evalsipmabubblebb4in: [1+X₀-X₁]
• evalsipmabubblebb5in: [1+X₀-X₁]
• evalsipmabubblebb6in: [1+X₀]

MPRF for transition t₆: evalsipmabubblebb1in(X₀, X₁) → evalsipmabubblebb2in(X₀, X₁) :|: 1+D ≤ C ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 0 ≤ X₁ of depth 1:

new bound:

X₀⋅X₀+5⋅X₀+5 {O(n^2)}

MPRF:

• evalsipmabubblebb1in: [2+X₀-X₁]
• evalsipmabubblebb2in: [1+X₀-X₁]
• evalsipmabubblebb3in: [1+X₀-X₁]
• evalsipmabubblebb4in: [2+X₀-X₁]
• evalsipmabubblebb5in: [2+X₀-X₁]
• evalsipmabubblebb6in: [2+X₀]

MPRF for transition t₇: evalsipmabubblebb1in(X₀, X₁) → evalsipmabubblebb3in(X₀, X₁) :|: C ≤ D ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 0 ≤ X₁ of depth 1:

new bound:

X₀⋅X₀+4⋅X₀+3 {O(n^2)}

MPRF:

• evalsipmabubblebb1in: [1+X₀-X₁]
• evalsipmabubblebb2in: [X₀-X₁]
• evalsipmabubblebb3in: [X₀-X₁]
• evalsipmabubblebb4in: [1+X₀-X₁]
• evalsipmabubblebb5in: [1+X₀-X₁]
• evalsipmabubblebb6in: [1+X₀]

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

new bound:

X₀⋅X₀+4⋅X₀+3 {O(n^2)}

MPRF:

• evalsipmabubblebb1in: [1+X₀-X₁]
• evalsipmabubblebb2in: [1+X₀-X₁]
• evalsipmabubblebb3in: [X₀-X₁]
• evalsipmabubblebb4in: [1+X₀-X₁]
• evalsipmabubblebb5in: [1+X₀-X₁]
• evalsipmabubblebb6in: [1+X₀]

MPRF for transition t₉: evalsipmabubblebb3in(X₀, X₁) → evalsipmabubblebb4in(X₀, 1+X₁) :|: 1 ≤ X₀ ∧ 1 ≤ X₀+X₁ ∧ 1+X₁ ≤ X₀ ∧ 0 ≤ X₁ of depth 1:

new bound:

X₀⋅X₀+4⋅X₀+3 {O(n^2)}

MPRF:

• evalsipmabubblebb1in: [1+X₀-X₁]
• evalsipmabubblebb2in: [1+X₀-X₁]
• evalsipmabubblebb3in: [1+X₀-X₁]
• evalsipmabubblebb4in: [1+X₀-X₁]
• evalsipmabubblebb5in: [1+X₀-X₁]
• evalsipmabubblebb6in: [1+X₀]

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

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

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

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

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

Found invariant 1+X₀ ≤ 0 for location evalsipmabubblestop

Found invariant X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location evalsipmabubblebb4in_v1

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

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

Found invariant 1+X₀ ≤ 0 for location evalsipmabubblereturnin

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

All Bounds

Timebounds

Overall timebound:5⋅X₀⋅X₀+24⋅X₀+24 {O(n^2)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: X₀+1 {O(n)}
t₃: 1 {O(1)}
t₄: X₀⋅X₀+4⋅X₀+3 {O(n^2)}
t₅: X₀+1 {O(n)}
t₆: X₀⋅X₀+5⋅X₀+5 {O(n^2)}
t₇: X₀⋅X₀+4⋅X₀+3 {O(n^2)}
t₈: X₀⋅X₀+4⋅X₀+3 {O(n^2)}
t₉: X₀⋅X₀+4⋅X₀+3 {O(n^2)}
t₁₀: X₀+1 {O(n)}
t₁₁: 1 {O(1)}

Costbounds

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