Initial Problem
Start: eval0
Program_Vars: X₀, X₁, X₂, X₃
Temp_Vars:
Locations: end, eval0, eval1, eval11, eval3, eval5, eval7, eval9
Transitions:
t₀: eval0(X₀, X₁, X₂, X₃) → eval1(X₁, X₁, 1, X₃)
t₁: eval1(X₀, X₁, X₂, X₃) → end(X₀, X₁, X₂, X₃) :|: 101 ≤ X₀
t₂: eval1(X₀, X₁, X₂, X₃) → eval3(X₀, X₁, X₂, X₃) :|: X₀ ≤ 100
t₁₂: eval11(X₀, X₁, X₂, X₃) → eval5(11+X₀, X₁, 1+X₂, X₃)
t₃: eval3(X₀, X₁, X₂, X₃) → eval3(11+X₀, X₁, 1+X₂, X₃) :|: X₀ ≤ 100
t₄: eval3(X₀, X₁, X₂, X₃) → eval5(X₀, X₁, X₂, X₃) :|: 101 ≤ X₀
t₅: eval5(X₀, X₁, X₂, X₃) → eval7(X₀-10, X₁, X₂-1, X₃) :|: 2 ≤ X₂
t₆: eval7(X₀, X₁, X₂, X₃) → eval5(X₀, X₁, X₂, X₀-10) :|: X₂ ≤ 1 ∧ 1 ≤ X₂ ∧ 101 ≤ X₀
t₇: eval7(X₀, X₁, X₂, X₃) → eval9(X₀, X₁, X₂, X₃) :|: X₀ ≤ 100
t₈: eval7(X₀, X₁, X₂, X₃) → eval9(X₀, X₁, X₂, X₃) :|: X₂ ≤ 2
t₉: eval7(X₀, X₁, X₂, X₃) → eval9(X₀, X₁, X₂, X₃) :|: 0 ≤ X₂
t₁₀: eval9(X₀, X₁, X₂, X₃) → eval11(X₀-10, X₁, X₂-1, X₃) :|: 101 ≤ X₀
t₁₁: eval9(X₀, X₁, X₂, X₃) → eval11(X₀, X₁, X₂, X₃) :|: X₀ ≤ 100
Preprocessing
Eliminate variables [X₃] that do not contribute to the problem
Found invariant X₂ ≤ 1 ∧ 1 ≤ X₂ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁ for location eval1
Found invariant X₂ ≤ 1 ∧ 100+X₂ ≤ X₁ ∧ 100+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ 102 ≤ X₁+X₂ ∧ 102 ≤ X₀+X₂ ∧ X₁ ≤ X₀ ∧ 101 ≤ X₁ ∧ 202 ≤ X₀+X₁ ∧ X₀ ≤ X₁ ∧ 101 ≤ X₀ for location end
Found invariant 1 ≤ X₂ ∧ X₁ ≤ 99+X₂ ∧ X₀ ≤ 109+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ X₀ ∧ X₀+X₁ ≤ 211 ∧ X₀ ≤ 111 for location eval3
Found invariant 1 ≤ X₂ ∧ X₁ ≤ 99+X₂ ∧ 92 ≤ X₀+X₂ ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 9+X₀ ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ 91 ≤ X₀ for location eval7
Found invariant 0 ≤ X₂ ∧ X₁ ≤ 100+X₂ ∧ 91 ≤ X₀+X₂ ∧ X₀ ≤ 99+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 9+X₀ ∧ X₀+X₁ ≤ 200 ∧ X₀ ≤ 100 ∧ 91 ≤ X₀ for location eval11
Found invariant 1 ≤ X₂ ∧ X₁ ≤ 99+X₂ ∧ 102 ≤ X₀+X₂ ∧ X₀ ≤ 109+X₂ ∧ X₁ ≤ 100 ∧ 1+X₁ ≤ X₀ ∧ X₀+X₁ ≤ 211 ∧ X₀ ≤ 111 ∧ 101 ≤ X₀ for location eval5
Found invariant 1 ≤ X₂ ∧ X₁ ≤ 99+X₂ ∧ 92 ≤ X₀+X₂ ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 9+X₀ ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ 91 ≤ X₀ for location eval9
Problem after Preprocessing
Start: eval0
Program_Vars: X₀, X₁, X₂
Temp_Vars:
Locations: end, eval0, eval1, eval11, eval3, eval5, eval7, eval9
Transitions:
t₂₇: eval0(X₀, X₁, X₂) → eval1(X₁, X₁, 1)
t₂₈: eval1(X₀, X₁, X₂) → end(X₀, X₁, X₂) :|: 101 ≤ X₀ ∧ X₂ ≤ 1 ∧ 1 ≤ X₂ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁
t₂₉: eval1(X₀, X₁, X₂) → eval3(X₀, X₁, X₂) :|: X₀ ≤ 100 ∧ X₂ ≤ 1 ∧ 1 ≤ X₂ ∧ X₁ ≤ X₀ ∧ X₀ ≤ X₁
t₃₀: eval11(X₀, X₁, X₂) → eval5(11+X₀, X₁, 1+X₂) :|: X₀+X₁ ≤ 200 ∧ X₀ ≤ 100 ∧ X₁ ≤ 100 ∧ X₁ ≤ 100+X₂ ∧ X₀ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 91 ≤ X₀ ∧ 91 ≤ X₀+X₂ ∧ 0 ≤ X₂
t₃₁: eval3(X₀, X₁, X₂) → eval3(11+X₀, X₁, 1+X₂) :|: X₀ ≤ 100 ∧ X₀+X₁ ≤ 211 ∧ X₀ ≤ 111 ∧ X₀ ≤ 109+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ 1 ≤ X₂ ∧ X₁ ≤ X₀
t₃₂: eval3(X₀, X₁, X₂) → eval5(X₀, X₁, X₂) :|: 101 ≤ X₀ ∧ X₀+X₁ ≤ 211 ∧ X₀ ≤ 111 ∧ X₀ ≤ 109+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ 1 ≤ X₂ ∧ X₁ ≤ X₀
t₃₃: eval5(X₀, X₁, X₂) → eval7(X₀-10, X₁, X₂-1) :|: 2 ≤ X₂ ∧ X₀+X₁ ≤ 211 ∧ X₀ ≤ 111 ∧ X₀ ≤ 109+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₂ ∧ 101 ≤ X₀ ∧ 102 ≤ X₀+X₂
t₃₄: eval7(X₀, X₁, X₂) → eval5(X₀, X₁, X₂) :|: X₂ ≤ 1 ∧ 1 ≤ X₂ ∧ 101 ≤ X₀ ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂
t₃₅: eval7(X₀, X₁, X₂) → eval9(X₀, X₁, X₂) :|: X₀ ≤ 100 ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 1 ≤ X₂ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂
t₃₆: eval7(X₀, X₁, X₂) → eval9(X₀, X₁, X₂) :|: X₂ ≤ 2 ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 1 ≤ X₂ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂
t₃₇: eval7(X₀, X₁, X₂) → eval9(X₀, X₁, X₂) :|: 0 ≤ X₂ ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 1 ≤ X₂ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂
t₃₈: eval9(X₀, X₁, X₂) → eval11(X₀-10, X₁, X₂-1) :|: 101 ≤ X₀ ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 1 ≤ X₂ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂
t₃₉: eval9(X₀, X₁, X₂) → eval11(X₀, X₁, X₂) :|: X₀ ≤ 100 ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 1 ≤ X₂ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂
MPRF for transition t₃₁: eval3(X₀, X₁, X₂) → eval3(11+X₀, X₁, 1+X₂) :|: X₀ ≤ 100 ∧ X₀+X₁ ≤ 211 ∧ X₀ ≤ 111 ∧ X₀ ≤ 109+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ 1 ≤ X₂ ∧ X₁ ≤ X₀ of depth 1:
new bound:
X₁+101 {O(n)}
MPRF:
• eval3: [101-X₀]
MPRF for transition t₃₀: eval11(X₀, X₁, X₂) → eval5(11+X₀, X₁, 1+X₂) :|: X₀+X₁ ≤ 200 ∧ X₀ ≤ 100 ∧ X₁ ≤ 100 ∧ X₁ ≤ 100+X₂ ∧ X₀ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 91 ≤ X₀ ∧ 91 ≤ X₀+X₂ ∧ 0 ≤ X₂ of depth 1:
new bound:
10⋅X₁+1322 {O(n)}
MPRF:
• eval11: [191+10⋅X₂-X₀]
• eval5: [191+10⋅X₂-X₀]
• eval7: [191+10⋅X₂-X₀]
• eval9: [191+10⋅X₂-X₀]
MPRF for transition t₃₃: eval5(X₀, X₁, X₂) → eval7(X₀-10, X₁, X₂-1) :|: 2 ≤ X₂ ∧ X₀+X₁ ≤ 211 ∧ X₀ ≤ 111 ∧ X₀ ≤ 109+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ 1+X₁ ≤ X₀ ∧ 1 ≤ X₂ ∧ 101 ≤ X₀ ∧ 102 ≤ X₀+X₂ of depth 1:
new bound:
11⋅X₁+1334 {O(n)}
MPRF:
• eval11: [101+11⋅X₂-X₀]
• eval5: [101+11⋅X₂-X₀]
• eval7: [101+11⋅X₂-X₀]
• eval9: [101+11⋅X₂-X₀]
MPRF for transition t₃₄: eval7(X₀, X₁, X₂) → eval5(X₀, X₁, X₂) :|: X₂ ≤ 1 ∧ 1 ≤ X₂ ∧ 101 ≤ X₀ ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂ of depth 1:
new bound:
X₁+103 {O(n)}
MPRF:
• eval11: [X₂]
• eval5: [X₂-1]
• eval7: [X₂]
• eval9: [X₂]
MPRF for transition t₃₅: eval7(X₀, X₁, X₂) → eval9(X₀, X₁, X₂) :|: X₀ ≤ 100 ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 1 ≤ X₂ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂ of depth 1:
new bound:
10⋅X₁+1323 {O(n)}
MPRF:
• eval11: [191+10⋅X₂-X₀]
• eval5: [192+10⋅X₂-X₀]
• eval7: [192+10⋅X₂-X₀]
• eval9: [191+10⋅X₂-X₀]
MPRF for transition t₃₆: eval7(X₀, X₁, X₂) → eval9(X₀, X₁, X₂) :|: X₂ ≤ 2 ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 1 ≤ X₂ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂ of depth 1:
new bound:
112⋅X₁+11647 {O(n)}
MPRF:
• eval11: [89+112⋅X₂-2⋅X₀]
• eval5: [112⋅X₂-1-2⋅X₀]
• eval7: [91+112⋅X₂-2⋅X₀]
• eval9: [90+112⋅X₂-2⋅X₀]
MPRF for transition t₃₇: eval7(X₀, X₁, X₂) → eval9(X₀, X₁, X₂) :|: 0 ≤ X₂ ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 1 ≤ X₂ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂ of depth 1:
new bound:
10⋅X₁+1313 {O(n)}
MPRF:
• eval11: [181+10⋅X₂-X₀]
• eval5: [182+10⋅X₂-X₀]
• eval7: [182+10⋅X₂-X₀]
• eval9: [181+10⋅X₂-X₀]
MPRF for transition t₃₈: eval9(X₀, X₁, X₂) → eval11(X₀-10, X₁, X₂-1) :|: 101 ≤ X₀ ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 1 ≤ X₂ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂ of depth 1:
new bound:
X₁+103 {O(n)}
MPRF:
• eval11: [X₂]
• eval5: [X₂-1]
• eval7: [X₂]
• eval9: [X₂]
MPRF for transition t₃₉: eval9(X₀, X₁, X₂) → eval11(X₀, X₁, X₂) :|: X₀ ≤ 100 ∧ X₀+X₁ ≤ 201 ∧ X₀ ≤ 101 ∧ X₀ ≤ 100+X₂ ∧ X₁ ≤ 100 ∧ X₁ ≤ 99+X₂ ∧ X₁ ≤ 9+X₀ ∧ 1 ≤ X₂ ∧ 91 ≤ X₀ ∧ 92 ≤ X₀+X₂ of depth 1:
new bound:
10⋅X₁+1232 {O(n)}
MPRF:
• eval11: [100+10⋅X₂-X₀]
• eval5: [101+10⋅X₂-X₀]
• eval7: [101+10⋅X₂-X₀]
• eval9: [101+10⋅X₂-X₀]
All Bounds
Timebounds
Overall timebound:166⋅X₁+18482 {O(n)}
t₂₇: 1 {O(1)}
t₂₈: 1 {O(1)}
t₂₉: 1 {O(1)}
t₃₀: 10⋅X₁+1322 {O(n)}
t₃₁: X₁+101 {O(n)}
t₃₂: 1 {O(1)}
t₃₃: 11⋅X₁+1334 {O(n)}
t₃₄: X₁+103 {O(n)}
t₃₅: 10⋅X₁+1323 {O(n)}
t₃₆: 112⋅X₁+11647 {O(n)}
t₃₇: 10⋅X₁+1313 {O(n)}
t₃₈: X₁+103 {O(n)}
t₃₉: 10⋅X₁+1232 {O(n)}
Costbounds
Overall costbound: 166⋅X₁+18482 {O(n)}
t₂₇: 1 {O(1)}
t₂₈: 1 {O(1)}
t₂₉: 1 {O(1)}
t₃₀: 10⋅X₁+1322 {O(n)}
t₃₁: X₁+101 {O(n)}
t₃₂: 1 {O(1)}
t₃₃: 11⋅X₁+1334 {O(n)}
t₃₄: X₁+103 {O(n)}
t₃₅: 10⋅X₁+1323 {O(n)}
t₃₆: 112⋅X₁+11647 {O(n)}
t₃₇: 10⋅X₁+1313 {O(n)}
t₃₈: X₁+103 {O(n)}
t₃₉: 10⋅X₁+1232 {O(n)}
Sizebounds
t₂₇, X₀: X₁ {O(n)}
t₂₇, X₁: X₁ {O(n)}
t₂₇, X₂: 1 {O(1)}
t₂₈, X₀: X₁ {O(n)}
t₂₈, X₁: X₁ {O(n)}
t₂₈, X₂: 1 {O(1)}
t₂₉, X₀: X₁ {O(n)}
t₂₉, X₁: X₁ {O(n)}
t₂₉, X₂: 1 {O(1)}
t₃₀, X₀: 111 {O(1)}
t₃₀, X₁: X₁ {O(n)}
t₃₀, X₂: 11⋅X₁+1426 {O(n)}
t₃₁, X₀: 12⋅X₁+1111 {O(n)}
t₃₁, X₁: X₁ {O(n)}
t₃₁, X₂: X₁+102 {O(n)}
t₃₂, X₀: 111 {O(1)}
t₃₂, X₁: X₁ {O(n)}
t₃₂, X₂: X₁+102 {O(n)}
t₃₃, X₀: 101 {O(1)}
t₃₃, X₁: X₁ {O(n)}
t₃₃, X₂: 11⋅X₁+1426 {O(n)}
t₃₄, X₀: 101 {O(1)}
t₃₄, X₁: X₁ {O(n)}
t₃₄, X₂: 1 {O(1)}
t₃₅, X₀: 100 {O(1)}
t₃₅, X₁: X₁ {O(n)}
t₃₅, X₂: 11⋅X₁+1426 {O(n)}
t₃₆, X₀: 101 {O(1)}
t₃₆, X₁: X₁ {O(n)}
t₃₆, X₂: 2 {O(1)}
t₃₇, X₀: 101 {O(1)}
t₃₇, X₁: X₁ {O(n)}
t₃₇, X₂: 11⋅X₁+1426 {O(n)}
t₃₈, X₀: 91 {O(1)}
t₃₈, X₁: X₁ {O(n)}
t₃₈, X₂: 11⋅X₁+1426 {O(n)}
t₃₉, X₀: 100 {O(1)}
t₃₉, X₁: X₁ {O(n)}
t₃₉, X₂: 11⋅X₁+1426 {O(n)}