Initial Problem
Start: eval_non_linear08_start
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉
Temp_Vars:
Locations: eval_non_linear08_.critedge_in, eval_non_linear08_bb0_in, eval_non_linear08_bb1_in, eval_non_linear08_bb2_in, eval_non_linear08_start, eval_non_linear08_stop
Transitions:
t₇: eval_non_linear08_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_stop(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉)
t₁: eval_non_linear08_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_bb1_in(X₆, X₇, X₈, X₉, X₅, X₅, X₆, X₇, X₈, X₉)
t₄: eval_non_linear08_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) :|: X₀+2⋅X₁ ≤ X₄ ∧ X₂ ≤ X₃+X₄
t₅: eval_non_linear08_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) :|: X₄ ≤ 0
t₂: eval_non_linear08_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) :|: 1+X₄ ≤ X₀+2⋅X₁ ∧ 1 ≤ X₄
t₃: eval_non_linear08_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) :|: 1+X₃+X₄ ≤ X₂ ∧ 1 ≤ X₄
t₆: eval_non_linear08_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_bb1_in(2⋅X₀+2⋅(X₀)², 2⋅X₁-(X₀)², X₂+(X₂)²-3⋅X₃, (X₂)²-2⋅X₂, 4⋅X₄, X₅, X₆, X₇, X₈, X₉)
t₀: eval_non_linear08_start(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉)
Preprocessing
Found invariant X₅ ≤ X₄ for location eval_non_linear08_stop
Found invariant X₅ ≤ X₄ for location eval_non_linear08_.critedge_in
Found invariant X₅ ≤ X₄ for location eval_non_linear08_bb1_in
Found invariant X₅ ≤ X₄ ∧ 1 ≤ X₄ for location eval_non_linear08_bb2_in
Problem after Preprocessing
Start: eval_non_linear08_start
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉
Temp_Vars:
Locations: eval_non_linear08_.critedge_in, eval_non_linear08_bb0_in, eval_non_linear08_bb1_in, eval_non_linear08_bb2_in, eval_non_linear08_start, eval_non_linear08_stop
Transitions:
t₇: eval_non_linear08_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_stop(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) :|: X₅ ≤ X₄
t₁: eval_non_linear08_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_bb1_in(X₆, X₇, X₈, X₉, X₅, X₅, X₆, X₇, X₈, X₉)
t₄: eval_non_linear08_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) :|: X₀+2⋅X₁ ≤ X₄ ∧ X₂ ≤ X₃+X₄ ∧ X₅ ≤ X₄
t₅: eval_non_linear08_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) :|: X₄ ≤ 0 ∧ X₅ ≤ X₄
t₂: eval_non_linear08_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) :|: 1+X₄ ≤ X₀+2⋅X₁ ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄
t₃: eval_non_linear08_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) :|: 1+X₃+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄
t₆: eval_non_linear08_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_bb1_in(2⋅X₀+2⋅(X₀)², 2⋅X₁-(X₀)², X₂+(X₂)²-3⋅X₃, (X₂)²-2⋅X₂, 4⋅X₄, X₅, X₆, X₇, X₈, X₉) :|: 1 ≤ X₄ ∧ X₅ ≤ X₄
t₀: eval_non_linear08_start(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉) → eval_non_linear08_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇, X₈, X₉)
TWN: t₂: eval_non_linear08_bb1_in→eval_non_linear08_bb2_in
cycle: [t₂: eval_non_linear08_bb1_in→eval_non_linear08_bb2_in; t₃: eval_non_linear08_bb1_in→eval_non_linear08_bb2_in; t₆: eval_non_linear08_bb2_in→eval_non_linear08_bb1_in]
original loop: (1+Temp_Int₄₂₀₂+X₄ ≤ 0 ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄ ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄ ∨ 1+Temp_Int₄₂₀₃+X₄ ≤ 0 ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄ ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄,(Temp_Int₄₂₀₂,Temp_Int₄₂₀₃,X₄,X₅) -> (2⋅Temp_Int₄₂₀₂,3⋅Temp_Int₄₂₀₃,4⋅X₄,X₅))
transformed loop: (1+Temp_Int₄₂₀₂+X₄ ≤ 0 ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄ ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄ ∨ 1+Temp_Int₄₂₀₃+X₄ ≤ 0 ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄ ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄,(Temp_Int₄₂₀₂,Temp_Int₄₂₀₃,X₄,X₅) -> (2⋅Temp_Int₄₂₀₂,3⋅Temp_Int₄₂₀₃,4⋅X₄,X₅))
loop: (1+Temp_Int₄₂₀₂+X₄ ≤ 0 ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄ ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄ ∨ 1+Temp_Int₄₂₀₃+X₄ ≤ 0 ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄ ∧ 1 ≤ X₄ ∧ X₅ ≤ X₄,(Temp_Int₄₂₀₂,Temp_Int₄₂₀₃,X₄,X₅) -> (2⋅Temp_Int₄₂₀₂,3⋅Temp_Int₄₂₀₃,4⋅X₄,X₅))
order: [X₅; X₄; Temp_Int₄₂₀₃; Temp_Int₄₂₀₂]
closed-form:X₅: X₅
X₄: X₄⋅(4)^n
Temp_Int₄₂₀₃: Temp_Int₄₂₀₃⋅(3)^n
Temp_Int₄₂₀₂: Temp_Int₄₂₀₂⋅(2)^n
Termination: true
Formula:
0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ Temp_Int₄₂₀₂ ∧ Temp_Int₄₂₀₂ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ Temp_Int₄₂₀₃ ∧ Temp_Int₄₂₀₃ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ Temp_Int₄₂₀₂ ∧ Temp_Int₄₂₀₂ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ Temp_Int₄₂₀₂ ∧ Temp_Int₄₂₀₂ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ Temp_Int₄₂₀₃ ∧ Temp_Int₄₂₀₃ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 0 ≤ 1 ∧ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ Temp_Int₄₂₀₃ ∧ Temp_Int₄₂₀₃ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ Temp_Int₄₂₀₂ ∧ Temp_Int₄₂₀₂ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ Temp_Int₄₂₀₃ ∧ Temp_Int₄₂₀₃ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ Temp_Int₄₂₀₂ ∧ Temp_Int₄₂₀₂ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ Temp_Int₄₂₀₂ ∧ Temp_Int₄₂₀₂ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ Temp_Int₄₂₀₃ ∧ Temp_Int₄₂₀₃ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 1 ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ Temp_Int₄₂₀₃ ∧ Temp_Int₄₂₀₃ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 1+Temp_Int₄₂₀₂ ≤ 0 ∧ 1 ≤ X₄ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 1+Temp_Int₄₂₀₂ ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 1+Temp_Int₄₂₀₂ ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ X₄ ∧ X₄ ≤ 0 ∧ 0 ≤ X₅ ∧ X₅ ≤ 0
∨ 1+Temp_Int₄₂₀₃ ≤ 0 ∧ 1 ≤ X₄ ∧ 1+X₅ ≤ 0 ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 1+Temp_Int₄₂₀₃ ≤ 0 ∧ 1 ≤ X₄ ∧ 0 ≤ X₄ ∧ X₄ ≤ 0
∨ 1+Temp_Int₄₂₀₃ ≤ 0 ∧ 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+Temp_Int₄₂₀₃+X₄ ≤ 0
alphas_abs: Temp_Int₄₂₀₃
M': 1
N: 1
Bound: log(Temp_Int₄₂₀₃)+2 {O(log(n))}
Stabilization-Threshold for: 1+Temp_Int₄₂₀₂+X₄ ≤ 0
alphas_abs: Temp_Int₄₂₀₂
M': 1
N: 1
Bound: log(Temp_Int₄₂₀₂)+2 {O(log(n))}
TWN - Lifting for [2: eval_non_linear08_bb1_in->eval_non_linear08_bb2_in; 3: eval_non_linear08_bb1_in->eval_non_linear08_bb2_in; 6: eval_non_linear08_bb2_in->eval_non_linear08_bb1_in] of log(X₀)+log(X₁)+log(X₂)+log(X₃)+log(X₅)+10 {O(log(n))}
relevant size-bounds w.r.t. t₁: eval_non_linear08_bb0_in→eval_non_linear08_bb1_in:
X₀: X₆ {O(n)}
X₁: X₇ {O(n)}
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₇)+log(X₈)+log(X₉)+10 {O(log(n))}
All Bounds
Timebounds
Overall timebound:3⋅log(X₅)+3⋅log(X₆)+3⋅log(X₇)+3⋅log(X₈)+3⋅log(X₉)+35 {O(log(n))}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: log(X₅)+log(X₆)+log(X₇)+log(X₈)+log(X₉)+10 {O(log(n))}
t₃: log(X₅)+log(X₆)+log(X₇)+log(X₈)+log(X₉)+10 {O(log(n))}
t₄: 1 {O(1)}
t₅: 1 {O(1)}
t₆: log(X₅)+log(X₆)+log(X₇)+log(X₈)+log(X₉)+10 {O(log(n))}
t₇: 1 {O(1)}
Costbounds
Overall costbound: 3⋅log(X₅)+3⋅log(X₆)+3⋅log(X₇)+3⋅log(X₈)+3⋅log(X₉)+35 {O(log(n))}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: log(X₅)+log(X₆)+log(X₇)+log(X₈)+log(X₉)+10 {O(log(n))}
t₃: log(X₅)+log(X₆)+log(X₇)+log(X₈)+log(X₉)+10 {O(log(n))}
t₄: 1 {O(1)}
t₅: 1 {O(1)}
t₆: log(X₅)+log(X₆)+log(X₇)+log(X₈)+log(X₉)+10 {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₂: 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₄: 1048576⋅X₅⋅X₅⋅X₆⋅X₇⋅X₈⋅X₉ {O(n^6)}
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₄: 1048576⋅X₅⋅X₅⋅X₆⋅X₇⋅X₈⋅X₉ {O(n^6)}
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₄: 1048576⋅X₅⋅X₅⋅X₆⋅X₇⋅X₈⋅X₉+X₅ {O(n^6)}
t₄, X₅: 2⋅X₅ {O(n)}
t₄, X₆: 2⋅X₆ {O(n)}
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₆: X₆ {O(n)}
t₅, X₇: X₇ {O(n)}
t₅, X₈: X₈ {O(n)}
t₅, X₉: X₉ {O(n)}
t₆, X₄: 1048576⋅X₅⋅X₅⋅X₆⋅X₇⋅X₈⋅X₉ {O(n^6)}
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₄: 1048576⋅X₅⋅X₅⋅X₆⋅X₇⋅X₈⋅X₉+2⋅X₅ {O(n^6)}
t₇, X₅: 3⋅X₅ {O(n)}
t₇, X₆: 3⋅X₆ {O(n)}
t₇, X₇: 3⋅X₇ {O(n)}
t₇, X₈: 3⋅X₈ {O(n)}
t₇, X₉: 3⋅X₉ {O(n)}