Initial Problem

Start: evalspeedpldi4start
Program_Vars: X₀, X₁
Temp_Vars:
Locations: evalspeedpldi4bb2in, evalspeedpldi4bb3in, evalspeedpldi4bb4in, evalspeedpldi4bb5in, evalspeedpldi4entryin, evalspeedpldi4returnin, evalspeedpldi4start, evalspeedpldi4stop
Transitions:
t₆: evalspeedpldi4bb2in(X₀, X₁) → evalspeedpldi4bb3in(X₀, X₁) :|: 1+X₁ ≤ X₀
t₇: evalspeedpldi4bb2in(X₀, X₁) → evalspeedpldi4bb4in(X₀, X₁) :|: X₀ ≤ X₁
t₈: evalspeedpldi4bb3in(X₀, X₁) → evalspeedpldi4bb5in(X₀, X₁-1)
t₉: evalspeedpldi4bb4in(X₀, X₁) → evalspeedpldi4bb5in(X₀, X₁-X₀)
t₄: evalspeedpldi4bb5in(X₀, X₁) → evalspeedpldi4bb2in(X₀, X₁) :|: 1 ≤ X₁
t₅: evalspeedpldi4bb5in(X₀, X₁) → evalspeedpldi4returnin(X₀, X₁) :|: X₁ ≤ 0
t₃: evalspeedpldi4entryin(X₀, X₁) → evalspeedpldi4bb5in(X₀, X₁) :|: 1 ≤ X₀ ∧ 1+X₀ ≤ X₁
t₁: evalspeedpldi4entryin(X₀, X₁) → evalspeedpldi4returnin(X₀, X₁) :|: X₀ ≤ 0
t₂: evalspeedpldi4entryin(X₀, X₁) → evalspeedpldi4returnin(X₀, X₁) :|: X₁ ≤ X₀
t₁₀: evalspeedpldi4returnin(X₀, X₁) → evalspeedpldi4stop(X₀, X₁)
t₀: evalspeedpldi4start(X₀, X₁) → evalspeedpldi4entryin(X₀, X₁)

Preprocessing

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

Found invariant 1 ≤ X₀+X₁ ∧ 1 ≤ X₀ for location evalspeedpldi4bb5in

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

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

Problem after Preprocessing

Start: evalspeedpldi4start
Program_Vars: X₀, X₁
Temp_Vars:
Locations: evalspeedpldi4bb2in, evalspeedpldi4bb3in, evalspeedpldi4bb4in, evalspeedpldi4bb5in, evalspeedpldi4entryin, evalspeedpldi4returnin, evalspeedpldi4start, evalspeedpldi4stop
Transitions:
t₆: evalspeedpldi4bb2in(X₀, X₁) → evalspeedpldi4bb3in(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁
t₇: evalspeedpldi4bb2in(X₀, X₁) → evalspeedpldi4bb4in(X₀, X₁) :|: X₀ ≤ X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁
t₈: evalspeedpldi4bb3in(X₀, X₁) → evalspeedpldi4bb5in(X₀, X₁-1) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁
t₉: evalspeedpldi4bb4in(X₀, X₁) → evalspeedpldi4bb5in(X₀, X₁-X₀) :|: 1 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁
t₄: evalspeedpldi4bb5in(X₀, X₁) → evalspeedpldi4bb2in(X₀, X₁) :|: 1 ≤ X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁
t₅: evalspeedpldi4bb5in(X₀, X₁) → evalspeedpldi4returnin(X₀, X₁) :|: X₁ ≤ 0 ∧ 1 ≤ X₀ ∧ 1 ≤ X₀+X₁
t₃: evalspeedpldi4entryin(X₀, X₁) → evalspeedpldi4bb5in(X₀, X₁) :|: 1 ≤ X₀ ∧ 1+X₀ ≤ X₁
t₁: evalspeedpldi4entryin(X₀, X₁) → evalspeedpldi4returnin(X₀, X₁) :|: X₀ ≤ 0
t₂: evalspeedpldi4entryin(X₀, X₁) → evalspeedpldi4returnin(X₀, X₁) :|: X₁ ≤ X₀
t₁₀: evalspeedpldi4returnin(X₀, X₁) → evalspeedpldi4stop(X₀, X₁)
t₀: evalspeedpldi4start(X₀, X₁) → evalspeedpldi4entryin(X₀, X₁)

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

new bound:

X₁ {O(n)}

MPRF:

• evalspeedpldi4bb2in: [X₁-1]
• evalspeedpldi4bb3in: [X₁-1]
• evalspeedpldi4bb4in: [X₁-1]
• evalspeedpldi4bb5in: [X₁]

MPRF for transition t₆: evalspeedpldi4bb2in(X₀, X₁) → evalspeedpldi4bb3in(X₀, X₁) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ of depth 1:

new bound:

X₁ {O(n)}

MPRF:

• evalspeedpldi4bb2in: [X₁]
• evalspeedpldi4bb3in: [X₁-1]
• evalspeedpldi4bb4in: [X₁-X₀]
• evalspeedpldi4bb5in: [X₁]

MPRF for transition t₇: evalspeedpldi4bb2in(X₀, X₁) → evalspeedpldi4bb4in(X₀, X₁) :|: X₀ ≤ X₁ ∧ 1 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ of depth 1:

new bound:

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

MPRF:

• evalspeedpldi4bb2in: [1+X₁-X₀]
• evalspeedpldi4bb3in: [1+X₁-X₀]
• evalspeedpldi4bb4in: [X₁-X₀]
• evalspeedpldi4bb5in: [1+X₁-X₀]

MPRF for transition t₈: evalspeedpldi4bb3in(X₀, X₁) → evalspeedpldi4bb5in(X₀, X₁-1) :|: 1+X₁ ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀ ∧ 3 ≤ X₀+X₁ of depth 1:

new bound:

X₁ {O(n)}

MPRF:

• evalspeedpldi4bb2in: [X₁]
• evalspeedpldi4bb3in: [X₁]
• evalspeedpldi4bb4in: [X₁-X₀]
• evalspeedpldi4bb5in: [X₁]

MPRF for transition t₉: evalspeedpldi4bb4in(X₀, X₁) → evalspeedpldi4bb5in(X₀, X₁-X₀) :|: 1 ≤ X₀ ∧ 1 ≤ X₁ ∧ 2 ≤ X₀+X₁ ∧ X₀ ≤ X₁ of depth 1:

new bound:

X₁ {O(n)}

MPRF:

• evalspeedpldi4bb2in: [X₁]
• evalspeedpldi4bb3in: [X₁]
• evalspeedpldi4bb4in: [1+X₁-X₀]
• evalspeedpldi4bb5in: [X₁]

All Bounds

Timebounds

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

Costbounds

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