Initial Problem
Start: eval_foo_start
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars:
Locations: eval_foo_bb0_in, eval_foo_bb1_in, eval_foo_bb2_in, eval_foo_bb3_in, eval_foo_bb4_in, eval_foo_bb5_in, eval_foo_start, eval_foo_stop
Transitions:
t₁: eval_foo_bb0_in(X₀, X₁, X₂, X₃, X₄) → eval_foo_bb1_in(0, X₁, X₂, X₃, X₄)
t₂: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_foo_bb2_in(X₀, 3, X₂, X₃, X₄) :|: X₀ ≤ 9
t₃: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_foo_bb5_in(X₀, X₁, X₂, X₃, X₄) :|: 10 ≤ X₀
t₄: eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_foo_bb3_in(X₀, X₁, X₂, X₃, X₄) :|: X₁ ≤ 11
t₅: eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_foo_bb4_in(X₀, X₁, X₂, X₃, X₄) :|: 12 ≤ X₁
t₆: eval_foo_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_foo_bb2_in(X₀, 1+X₁, X₂, X₃, X₄)
t₇: eval_foo_bb4_in(X₀, X₁, X₂, X₃, X₄) → eval_foo_bb1_in(1+X₀, X₁, X₂, X₃, X₄)
t₈: eval_foo_bb5_in(X₀, X₁, X₂, X₃, X₄) → eval_foo_stop(X₀, X₁, X₂, X₃, X₄)
t₀: eval_foo_start(X₀, X₁, X₂, X₃, X₄) → eval_foo_bb0_in(X₀, X₁, X₂, X₃, X₄)
Preprocessing
Eliminate variables [X₂; X₃; X₄] that do not contribute to the problem
Found invariant 10 ≤ X₀ for location eval_foo_bb5_in
Found invariant 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location eval_foo_bb2_in
Found invariant 0 ≤ X₀ for location eval_foo_bb1_in
Found invariant 10 ≤ X₀ for location eval_foo_stop
Found invariant X₁ ≤ 11 ∧ X₁ ≤ 11+X₀ ∧ 3 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location eval_foo_bb3_in
Found invariant 12 ≤ X₁ ∧ 12 ≤ X₀+X₁ ∧ 0 ≤ X₀ for location eval_foo_bb4_in
Problem after Preprocessing
Start: eval_foo_start
Program_Vars: X₀, X₁
Temp_Vars:
Locations: eval_foo_bb0_in, eval_foo_bb1_in, eval_foo_bb2_in, eval_foo_bb3_in, eval_foo_bb4_in, eval_foo_bb5_in, eval_foo_start, eval_foo_stop
Transitions:
t₁₇: eval_foo_bb0_in(X₀, X₁) → eval_foo_bb1_in(0, X₁)
t₁₈: eval_foo_bb1_in(X₀, X₁) → eval_foo_bb2_in(X₀, 3) :|: X₀ ≤ 9 ∧ 0 ≤ X₀
t₁₉: eval_foo_bb1_in(X₀, X₁) → eval_foo_bb5_in(X₀, X₁) :|: 10 ≤ X₀ ∧ 0 ≤ X₀
t₂₀: eval_foo_bb2_in(X₀, X₁) → eval_foo_bb3_in(X₀, X₁) :|: X₁ ≤ 11 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
t₂₁: eval_foo_bb2_in(X₀, X₁) → eval_foo_bb4_in(X₀, X₁) :|: 12 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
t₂₂: eval_foo_bb3_in(X₀, X₁) → eval_foo_bb2_in(X₀, 1+X₁) :|: X₁ ≤ 11+X₀ ∧ X₁ ≤ 11 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
t₂₃: eval_foo_bb4_in(X₀, X₁) → eval_foo_bb1_in(1+X₀, X₁) :|: 12 ≤ X₀+X₁ ∧ 12 ≤ X₁ ∧ 0 ≤ X₀
t₂₄: eval_foo_bb5_in(X₀, X₁) → eval_foo_stop(X₀, X₁) :|: 10 ≤ X₀
t₂₅: eval_foo_start(X₀, X₁) → eval_foo_bb0_in(X₀, X₁)
MPRF for transition t₁₈: eval_foo_bb1_in(X₀, X₁) → eval_foo_bb2_in(X₀, 3) :|: X₀ ≤ 9 ∧ 0 ≤ X₀ of depth 1:
new bound:
10 {O(1)}
MPRF:
• eval_foo_bb1_in: [10-X₀]
• eval_foo_bb2_in: [9-X₀]
• eval_foo_bb3_in: [9-X₀]
• eval_foo_bb4_in: [9-X₀]
TWN: t₂₂: eval_foo_bb3_in→eval_foo_bb2_in
cycle: [t₂₂: eval_foo_bb3_in→eval_foo_bb2_in; t₂₀: eval_foo_bb2_in→eval_foo_bb3_in]
loop: (X₁ ≤ 11 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀ ∧ X₁ ≤ 11+X₀ ∧ X₁ ≤ 11 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀,(X₀,X₁) -> (X₀,1+X₁))
order: [X₁; X₀]
closed-form:X₁: X₁ + [[n != 0]]⋅n^1
X₀: X₀
Termination: true
Formula:
X₁ ≤ 11+X₀ ∧ X₁ ≤ 11 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 11+X₀ ≤ X₁ ∧ 11 ≤ X₁ ∧ 0 ≤ X₀
∨ X₁ ≤ 11+X₀ ∧ X₁ ≤ 10 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 11+X₀ ≤ X₁ ∧ 0 ≤ X₀
∨ X₁ ≤ 11+X₀ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 11+X₀ ≤ X₁ ∧ 0 ≤ X₀
∨ X₁ ≤ 11 ∧ X₁ ≤ 10+X₀ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 11 ≤ X₁ ∧ 0 ≤ X₀
∨ X₁ ≤ 11 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 11 ≤ X₁ ∧ 0 ≤ X₀
∨ X₁ ≤ 10+X₀ ∧ X₁ ≤ 10 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
∨ X₁ ≤ 10+X₀ ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
∨ X₁ ≤ 10 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
∨ 1 ≤ 0 ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
Stabilization-Threshold for: X₁ ≤ 11
alphas_abs: 12+X₁
M: 0
N: 1
Bound: 2⋅X₁+26 {O(n)}
Stabilization-Threshold for: X₁ ≤ 11+X₀
alphas_abs: 12+X₀+X₁
M: 0
N: 1
Bound: 2⋅X₀+2⋅X₁+26 {O(n)}
TWN - Lifting for [20: eval_foo_bb2_in->eval_foo_bb3_in; 22: eval_foo_bb3_in->eval_foo_bb2_in] of 2⋅X₀+4⋅X₁+54 {O(n)}
relevant size-bounds w.r.t. t₁₈: eval_foo_bb1_in→eval_foo_bb2_in:
X₀: 9 {O(1)}
X₁: 3 {O(1)}
Runtime-bound of t₁₈: 10 {O(1)}
Results in: 840 {O(1)}
TWN: t₂₃: eval_foo_bb4_in→eval_foo_bb1_in
cycle: [t₂₃: eval_foo_bb4_in→eval_foo_bb1_in; t₁₈: eval_foo_bb1_in→eval_foo_bb2_in; t₂₁: eval_foo_bb2_in→eval_foo_bb4_in]
loop: (X₀ ≤ 9 ∧ 0 ≤ X₀ ∧ 1 ≤ 0 ∧ 0 ≤ X₀ ∧ 0 ≤ 0 ∧ 0 ≤ X₀ ∧ 9 ≤ X₀ ∧ 1 ≤ 0 ∧ 0 ≤ X₀,(X₀) -> (1+X₀))
order: [X₀]
closed-form:X₀: X₀ + [[n != 0]]⋅n^1
Termination: true
Formula:
0 ≤ 0 ∧ X₀ ≤ 9 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 9 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ X₀ ≤ 8 ∧ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 9 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ 1 ≤ 0 ∧ 9 ≤ X₀ ∧ 0 ≤ X₀
Stabilization-Threshold for: X₀ ≤ 9
alphas_abs: 10+X₀
M: 0
N: 1
Bound: 2⋅X₀+22 {O(n)}
loop: (12 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀ ∧ 12 ≤ X₀+X₁ ∧ 12 ≤ X₁ ∧ 0 ≤ X₀ ∧ X₀ ≤ 8 ∧ 0 ≤ 1+X₀,(X₀,X₁) -> (1+X₀,3))
order: [X₁; X₀]
closed-form:X₁: [[n == 0]]⋅X₁ + [[n != 0]]⋅3
X₀: X₀ + [[n != 0]]⋅n^1
Termination: true
Formula:
0 ≤ 0 ∧ X₀ ≤ 9 ∧ X₀ ≤ 8 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 8 ≤ X₀ ∧ 9 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ X₀ ≤ 9 ∧ X₀ ≤ 7 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 9 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ X₀ ≤ 9 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 9 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ X₀ ≤ 8 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 3 ≤ X₁ ∧ 8 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ X₀ ≤ 8 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 8 ≤ X₀ ∧ 10 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ X₀ ≤ 8 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 8 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ X₀ ≤ 8 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 8 ≤ X₀ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0
∨ 0 ≤ 0 ∧ X₀ ≤ 7 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ X₀ ≤ 7 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 10 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ X₀ ≤ 7 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ X₀ ≤ 7 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0
∨ 0 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 10 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
∨ 0 ≤ 0 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0
∨ 0 ≤ 0 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 0 ≤ X₀
∨ X₀ ≤ 9 ∧ X₀ ≤ 8 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 3 ≤ X₁ ∧ 8 ≤ X₀ ∧ 9 ≤ X₀ ∧ 0 ≤ X₀
∨ X₀ ≤ 9 ∧ X₀ ≤ 8 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 8 ≤ X₀ ∧ 9 ≤ X₀ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0
∨ X₀ ≤ 9 ∧ X₀ ≤ 7 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 3 ≤ X₁ ∧ 9 ≤ X₀ ∧ 0 ≤ X₀
∨ X₀ ≤ 9 ∧ X₀ ≤ 7 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 9 ≤ X₀ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0
∨ X₀ ≤ 9 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 3 ≤ X₁ ∧ 9 ≤ X₀ ∧ 0 ≤ X₀
∨ X₀ ≤ 9 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 9 ≤ X₀ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0
∨ X₀ ≤ 8 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 3 ≤ X₁ ∧ 8 ≤ X₀ ∧ 10 ≤ X₀ ∧ 0 ≤ X₀
∨ X₀ ≤ 8 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 8 ≤ X₀ ∧ 10 ≤ X₀ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0
∨ X₀ ≤ 7 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 3 ≤ X₁ ∧ 10 ≤ X₀ ∧ 0 ≤ X₀
∨ X₀ ≤ 7 ∧ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 10 ≤ X₀ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0
∨ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 1 ≤ X₀ ∧ 3 ≤ X₁ ∧ 10 ≤ X₀ ∧ 0 ≤ X₀
∨ 0 ≤ 1 ∧ 0 ≤ 1+X₀ ∧ 1 ≤ 0 ∧ 3 ≤ X₁ ∧ 10 ≤ X₀ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0
Stabilization-Threshold for: X₀ ≤ 8
alphas_abs: 9+X₀
M: 0
N: 1
Bound: 2⋅X₀+20 {O(n)}
Stabilization-Threshold for: 12 ≤ X₀+X₁
alphas_abs: 8+X₀
M: 0
N: 1
Bound: 2⋅X₀+18 {O(n)}
Stabilization-Threshold for: 3 ≤ X₀+X₁
alphas_abs: 1+X₀
M: 0
N: 1
Bound: 2⋅X₀+4 {O(n)}
TWN - Lifting for [18: eval_foo_bb1_in->eval_foo_bb2_in; 21: eval_foo_bb2_in->eval_foo_bb4_in; 23: eval_foo_bb4_in->eval_foo_bb1_in] of 2⋅X₀+24 {O(n)}
relevant size-bounds w.r.t. t₁₇: eval_foo_bb0_in→eval_foo_bb1_in:
X₀: 0 {O(1)}
Runtime-bound of t₁₇: 1 {O(1)}
Results in: 24 {O(1)}
TWN - Lifting for [18: eval_foo_bb1_in->eval_foo_bb2_in; 21: eval_foo_bb2_in->eval_foo_bb4_in; 23: eval_foo_bb4_in->eval_foo_bb1_in] of 6⋅X₀+45 {O(n)}
relevant size-bounds w.r.t. t₂₂: eval_foo_bb3_in→eval_foo_bb2_in:
X₀: 9 {O(1)}
Runtime-bound of t₂₂: 840 {O(1)}
Results in: 83160 {O(1)}
All Bounds
Timebounds
Overall timebound:168062 {O(1)}
t₁₇: 1 {O(1)}
t₁₈: 10 {O(1)}
t₁₉: 1 {O(1)}
t₂₀: 840 {O(1)}
t₂₁: 83184 {O(1)}
t₂₂: 840 {O(1)}
t₂₃: 83184 {O(1)}
t₂₄: 1 {O(1)}
t₂₅: 1 {O(1)}
Costbounds
Overall costbound: 168062 {O(1)}
t₁₇: 1 {O(1)}
t₁₈: 10 {O(1)}
t₁₉: 1 {O(1)}
t₂₀: 840 {O(1)}
t₂₁: 83184 {O(1)}
t₂₂: 840 {O(1)}
t₂₃: 83184 {O(1)}
t₂₄: 1 {O(1)}
t₂₅: 1 {O(1)}
Sizebounds
t₁₇, X₀: 0 {O(1)}
t₁₇, X₁: X₁ {O(n)}
t₁₈, X₀: 9 {O(1)}
t₁₈, X₁: 3 {O(1)}
t₁₉, X₀: 10 {O(1)}
t₁₉, X₁: 12 {O(1)}
t₂₀, X₀: 9 {O(1)}
t₂₀, X₁: 11 {O(1)}
t₂₁, X₀: 9 {O(1)}
t₂₁, X₁: 12 {O(1)}
t₂₂, X₀: 9 {O(1)}
t₂₂, X₁: 12 {O(1)}
t₂₃, X₀: 10 {O(1)}
t₂₃, X₁: 12 {O(1)}
t₂₄, X₀: 10 {O(1)}
t₂₄, X₁: 12 {O(1)}
t₂₅, X₀: X₀ {O(n)}
t₂₅, X₁: X₁ {O(n)}