Start: eval_foo_start
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇
Temp_Vars: nondef.0
Locations: eval_foo_.critedge_in, eval_foo_2, eval_foo_3, eval_foo_bb0_in, eval_foo_bb1_in, eval_foo_bb2_in, eval_foo_start, eval_foo_stop
Transitions:
t₁₀: eval_foo_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_stop(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇)
t₈: eval_foo_2(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_3(X₀, X₁, X₂, nondef.0, X₄, X₅, X₆, X₇)
t₉: eval_foo_3(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_bb1_in(X₃, X₇, X₀, X₃, X₄, X₅, X₆, X₇)
t₁: eval_foo_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_bb1_in(X₅, X₆, X₄, X₃, X₄, X₅, X₆, X₇)
t₃: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) :|: X₀ ≤ 0
t₄: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) :|: X₁ ≤ X₀
t₅: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) :|: X₀ ≤ 2⋅X₂
t₂: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) :|: 1 ≤ X₀ ∧ 1+2⋅X₂ ≤ X₀ ∧ 1+X₀ ≤ X₁
t₆: eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_2(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇)
t₀: eval_foo_start(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇)
Found invariant 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₀ for location eval_foo_2
Found invariant 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₀ for location eval_foo_bb2_in
Found invariant 2 ≤ X₁ ∧ 3 ≤ X₀+X₁ ∧ 1+X₀ ≤ X₁ ∧ 1 ≤ X₀ for location eval_foo_3
Start: eval_foo_start
Program_Vars: X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇
Temp_Vars: nondef.0
Locations: eval_foo_.critedge_in, eval_foo_2, eval_foo_3, eval_foo_bb0_in, eval_foo_bb1_in, eval_foo_bb2_in, eval_foo_start, eval_foo_stop
Transitions:
t₁₀: eval_foo_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_stop(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇)
t₈: eval_foo_2(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_3(X₀, X₁, X₂, nondef.0, X₄, X₅, X₆, X₇) :|: 1 ≤ X₀ ∧ 1+X₀ ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁
t₉: eval_foo_3(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_bb1_in(X₃, X₇, X₀, X₃, X₄, X₅, X₆, X₇) :|: 1 ≤ X₀ ∧ 1+X₀ ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁
t₁: eval_foo_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_bb1_in(X₅, X₆, X₄, X₃, X₄, X₅, X₆, X₇)
t₃: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) :|: X₀ ≤ 0
t₄: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) :|: X₁ ≤ X₀
t₅: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_.critedge_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) :|: X₀ ≤ 2⋅X₂
t₂: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) :|: 1 ≤ X₀ ∧ 1+2⋅X₂ ≤ X₀ ∧ 1+X₀ ≤ X₁
t₆: eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_2(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) :|: 1 ≤ X₀ ∧ 1+X₀ ≤ X₁ ∧ 2 ≤ X₁ ∧ 3 ≤ X₀+X₁
t₀: eval_foo_start(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇) → eval_foo_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆, X₇)
new bound:
16⋅X₄+8⋅X₆+8⋅X₇+7 {O(n)}
MPRF:
• eval_foo_2: [X₇-2⋅X₀; X₇]
• eval_foo_3: [X₇-1-2⋅X₀; X₇]
• eval_foo_bb1_in: [X₇-1-2⋅X₂; X₁]
• eval_foo_bb2_in: [X₇-1-X₀; X₁+X₇-1-X₀]
new bound:
16⋅X₄+16⋅X₆+16⋅X₇+7 {O(n)}
MPRF:
• eval_foo_2: [2⋅X₇-1-X₀; X₀+2⋅X₇-1]
• eval_foo_3: [2⋅X₇-2-X₀; X₀+2⋅X₇-1]
• eval_foo_bb1_in: [2⋅X₇-1-2⋅X₂; 2⋅X₁]
• eval_foo_bb2_in: [2⋅X₇-X₀; 2⋅X₀]
new bound:
16⋅X₄+8⋅X₆+8⋅X₇+1 {O(n)}
MPRF:
• eval_foo_2: [X₇-X₀; X₁]
• eval_foo_3: [X₇-1-X₀; X₁+X₇-1-X₀]
• eval_foo_bb1_in: [X₇-2⋅X₂; X₁]
• eval_foo_bb2_in: [1+X₇-X₀; X₁]
new bound:
48⋅X₄+8⋅X₆+8⋅X₇+15 {O(n)}
MPRF:
• eval_foo_2: [X₇-2⋅X₀; 0]
• eval_foo_3: [X₇-1-2⋅X₀; 0]
• eval_foo_bb1_in: [X₇-4⋅X₂; X₁-2-2⋅X₂]
• eval_foo_bb2_in: [2+X₇-2⋅X₀; 0]
Overall timebound:40⋅X₆+40⋅X₇+96⋅X₄+36 {O(n)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 16⋅X₄+8⋅X₆+8⋅X₇+7 {O(n)}
t₃: 1 {O(1)}
t₄: 1 {O(1)}
t₅: 1 {O(1)}
t₆: 16⋅X₄+16⋅X₆+16⋅X₇+7 {O(n)}
t₈: 16⋅X₄+8⋅X₆+8⋅X₇+1 {O(n)}
t₉: 48⋅X₄+8⋅X₆+8⋅X₇+15 {O(n)}
t₁₀: 1 {O(1)}
Overall costbound: 40⋅X₆+40⋅X₇+96⋅X₄+36 {O(n)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 16⋅X₄+8⋅X₆+8⋅X₇+7 {O(n)}
t₃: 1 {O(1)}
t₄: 1 {O(1)}
t₅: 1 {O(1)}
t₆: 16⋅X₄+16⋅X₆+16⋅X₇+7 {O(n)}
t₈: 16⋅X₄+8⋅X₆+8⋅X₇+1 {O(n)}
t₉: 48⋅X₄+8⋅X₆+8⋅X₇+15 {O(n)}
t₁₀: 1 {O(1)}
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₆+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₆+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₆+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₆+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₆+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₆+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₁: 3⋅X₆+3⋅X₇ {O(n)}
t₁₀, X₄: 6⋅X₄ {O(n)}
t₁₀, X₅: 6⋅X₅ {O(n)}
t₁₀, X₆: 6⋅X₆ {O(n)}
t₁₀, X₇: 6⋅X₇ {O(n)}