Initial Problem
Start: eval_non_linear04_start
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅
Temp_Vars:
Locations: eval_non_linear04_.critedge_in, eval_non_linear04_bb0_in, eval_non_linear04_bb1_in, eval_non_linear04_bb2_in, eval_non_linear04_start, eval_non_linear04_stop
Transitions:
t₇: eval_non_linear04_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_stop(X₀, X₁, X₂, X₃, X₄, X₅)
t₁: eval_non_linear04_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_bb1_in(X₃, X₄, X₅, X₃, X₄, X₅)
t₄: eval_non_linear04_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₀ ≤ X₂ ∧ X₁ ≤ X₂
t₅: eval_non_linear04_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₂ ≤ 0
t₂: eval_non_linear04_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: 1+X₂ ≤ X₀ ∧ 1 ≤ X₂
t₃: eval_non_linear04_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: 1+X₂ ≤ X₁ ∧ 1 ≤ X₂
t₆: eval_non_linear04_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_bb1_in(2⋅X₀, 3⋅X₁, 4⋅X₂, X₃, X₄, X₅)
t₀: eval_non_linear04_start(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅)
Preprocessing
Found invariant X₅ ≤ X₂ for location eval_non_linear04_.critedge_in
Found invariant X₅ ≤ X₂ for location eval_non_linear04_stop
Found invariant X₅ ≤ X₂ for location eval_non_linear04_bb1_in
Found invariant X₅ ≤ X₂ ∧ 1 ≤ X₂ for location eval_non_linear04_bb2_in
Problem after Preprocessing
Start: eval_non_linear04_start
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅
Temp_Vars:
Locations: eval_non_linear04_.critedge_in, eval_non_linear04_bb0_in, eval_non_linear04_bb1_in, eval_non_linear04_bb2_in, eval_non_linear04_start, eval_non_linear04_stop
Transitions:
t₇: eval_non_linear04_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_stop(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₅ ≤ X₂
t₁: eval_non_linear04_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_bb1_in(X₃, X₄, X₅, X₃, X₄, X₅)
t₄: eval_non_linear04_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₀ ≤ X₂ ∧ X₁ ≤ X₂ ∧ X₅ ≤ X₂
t₅: eval_non_linear04_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: X₂ ≤ 0 ∧ X₅ ≤ X₂
t₂: eval_non_linear04_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: 1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂
t₃: eval_non_linear04_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: 1+X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂
t₆: eval_non_linear04_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_bb1_in(2⋅X₀, 3⋅X₁, 4⋅X₂, X₃, X₄, X₅) :|: 1 ≤ X₂ ∧ X₅ ≤ X₂
t₀: eval_non_linear04_start(X₀, X₁, X₂, X₃, X₄, X₅) → eval_non_linear04_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅)
TWN: t₂: eval_non_linear04_bb1_in→eval_non_linear04_bb2_in
cycle: [t₂: eval_non_linear04_bb1_in→eval_non_linear04_bb2_in; t₃: eval_non_linear04_bb1_in→eval_non_linear04_bb2_in; t₆: eval_non_linear04_bb2_in→eval_non_linear04_bb1_in]
original loop: (1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂ ∨ 1+X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂,(X₀,X₁,X₂,X₅) -> (2⋅X₀,3⋅X₁,4⋅X₂,X₅))
transformed loop: (1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂ ∨ 1+X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂,(X₀,X₁,X₂,X₅) -> (2⋅X₀,3⋅X₁,4⋅X₂,X₅))
loop: (1+X₂ ≤ X₀ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂ ∨ 1+X₂ ≤ X₁ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂ ∧ 1 ≤ X₂ ∧ X₅ ≤ X₂,(X₀,X₁,X₂,X₅) -> (2⋅X₀,3⋅X₁,4⋅X₂,X₅))
order: [X₅; X₂; X₁; X₀]
closed-form:X₅: X₅
X₂: X₂⋅(4)^n
X₁: X₁⋅(3)^n
X₀: X₀⋅(2)^n
Termination: true
Formula:
0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ X₀ ∧ X₀ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ X₁ ∧ X₁ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 0 ≤ X₁ ∧ X₁ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 0 ≤ X₁ ∧ X₁ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ X₀ ∧ X₀ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ X₁ ∧ X₁ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 0 ≤ X₀ ∧ X₀ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 0 ≤ X₁ ∧ X₁ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₂ ∧ 0 ≤ X₁ ∧ X₁ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 1 ≤ X₀ ∧ 1 ≤ X₂ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 1 ≤ X₀ ∧ 1 ≤ X₂ ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 1 ≤ X₀ ∧ 1 ≤ X₂ ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 1 ≤ X₁ ∧ 1 ≤ X₂ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 1 ≤ X₁ ∧ 1 ≤ X₂ ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 1 ≤ X₁ ∧ 1 ≤ X₂ ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 1 ≤ X₂ ∧ 1+X₂ ≤ 0
∨ 1 ≤ X₂ ∧ 1+X₂ ≤ 0 ∧ 1+X₅ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0
∨ 1 ≤ X₂ ∧ 1+X₂ ≤ 0 ∧ 0 ≤ X₂ ∧ X₂ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
Stabilization-Threshold for: X₅ ≤ X₂
alphas_abs: 1+X₅
M': 1
N: 1
Bound: log(X₅)+3 {O(log(n))}
Stabilization-Threshold for: 1+X₂ ≤ X₁
alphas_abs: X₁
M': 1
N: 1
Bound: log(X₁)+2 {O(log(n))}
Stabilization-Threshold for: 1+X₂ ≤ X₀
alphas_abs: X₀
M': 1
N: 1
Bound: log(X₀)+2 {O(log(n))}
TWN - Lifting for [2: eval_non_linear04_bb1_in->eval_non_linear04_bb2_in; 3: eval_non_linear04_bb1_in->eval_non_linear04_bb2_in; 6: eval_non_linear04_bb2_in->eval_non_linear04_bb1_in] of log(X₀)+log(X₁)+log(X₅)+9 {O(log(n))}
relevant size-bounds w.r.t. t₁: eval_non_linear04_bb0_in→eval_non_linear04_bb1_in:
X₀: X₃ {O(n)}
X₁: X₄ {O(n)}
X₅: X₅ {O(n)}
Runtime-bound of t₁: 1 {O(1)}
Results in: log(X₃)+log(X₄)+log(X₅)+9 {O(log(n))}
All Bounds
Timebounds
Overall timebound:3⋅log(X₃)+3⋅log(X₄)+3⋅log(X₅)+32 {O(log(n))}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: log(X₃)+log(X₄)+log(X₅)+9 {O(log(n))}
t₃: log(X₃)+log(X₄)+log(X₅)+9 {O(log(n))}
t₄: 1 {O(1)}
t₅: 1 {O(1)}
t₆: log(X₃)+log(X₄)+log(X₅)+9 {O(log(n))}
t₇: 1 {O(1)}
Costbounds
Overall costbound: 3⋅log(X₃)+3⋅log(X₄)+3⋅log(X₅)+32 {O(log(n))}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: log(X₃)+log(X₄)+log(X₅)+9 {O(log(n))}
t₃: log(X₃)+log(X₄)+log(X₅)+9 {O(log(n))}
t₄: 1 {O(1)}
t₅: 1 {O(1)}
t₆: log(X₃)+log(X₄)+log(X₅)+9 {O(log(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₄: X₄ {O(n)}
t₁, X₅: X₅ {O(n)}
t₂, X₀: 512⋅X₃⋅X₃⋅X₄⋅X₅ {O(n^4)}
t₂, X₁: 19683⋅X₃⋅X₄⋅X₄⋅X₅ {O(n^4)}
t₂, X₂: 262144⋅X₃⋅X₄⋅X₅⋅X₅ {O(n^4)}
t₂, X₃: X₃ {O(n)}
t₂, X₄: X₄ {O(n)}
t₂, X₅: X₅ {O(n)}
t₃, X₀: 512⋅X₃⋅X₃⋅X₄⋅X₅ {O(n^4)}
t₃, X₁: 19683⋅X₃⋅X₄⋅X₄⋅X₅ {O(n^4)}
t₃, X₂: 262144⋅X₃⋅X₄⋅X₅⋅X₅ {O(n^4)}
t₃, X₃: X₃ {O(n)}
t₃, X₄: X₄ {O(n)}
t₃, X₅: X₅ {O(n)}
t₄, X₀: 512⋅X₃⋅X₃⋅X₄⋅X₅+X₃ {O(n^4)}
t₄, X₁: 19683⋅X₃⋅X₄⋅X₄⋅X₅+X₄ {O(n^4)}
t₄, X₂: 262144⋅X₃⋅X₄⋅X₅⋅X₅+X₅ {O(n^4)}
t₄, X₃: 2⋅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₀: 512⋅X₃⋅X₃⋅X₄⋅X₅ {O(n^4)}
t₆, X₁: 19683⋅X₃⋅X₄⋅X₄⋅X₅ {O(n^4)}
t₆, X₂: 262144⋅X₃⋅X₄⋅X₅⋅X₅ {O(n^4)}
t₆, X₃: X₃ {O(n)}
t₆, X₄: X₄ {O(n)}
t₆, X₅: X₅ {O(n)}
t₇, X₀: 512⋅X₃⋅X₃⋅X₄⋅X₅+2⋅X₃ {O(n^4)}
t₇, X₁: 19683⋅X₃⋅X₄⋅X₄⋅X₅+2⋅X₄ {O(n^4)}
t₇, X₂: 262144⋅X₃⋅X₄⋅X₅⋅X₅+2⋅X₅ {O(n^4)}
t₇, X₃: 3⋅X₃ {O(n)}
t₇, X₄: 3⋅X₄ {O(n)}
t₇, X₅: 3⋅X₅ {O(n)}