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