Initial Problem

Start: eval_realheapsort_step1_start
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars: nondef.0, nondef.1, nondef.3
Locations: eval_realheapsort_step1_.critedge_in, eval_realheapsort_step1_2, eval_realheapsort_step1_3, eval_realheapsort_step1_4, eval_realheapsort_step1_5, eval_realheapsort_step1_6, eval_realheapsort_step1_bb0_in, eval_realheapsort_step1_bb1_in, eval_realheapsort_step1_bb2_in, eval_realheapsort_step1_bb3_in, eval_realheapsort_step1_bb4_in, eval_realheapsort_step1_bb5_in, eval_realheapsort_step1_start, eval_realheapsort_step1_stop
Transitions:
t₂₀: eval_realheapsort_step1_.critedge_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb1_in(X₀, X₁, X₂, X₃, 1+X₄)
t₉: eval_realheapsort_step1_2(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_3(nondef.0, X₁, X₂, X₃, X₄)
t₁₁: eval_realheapsort_step1_3(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_4(X₀, nondef.1, X₂, X₃, X₄)
t₁₃: eval_realheapsort_step1_4(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_.critedge_in(X₀, X₁, X₂, X₃, X₄) :|: X₀ ≤ X₁
t₁₂: eval_realheapsort_step1_4(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb4_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₁ ≤ X₀
t₁₆: eval_realheapsort_step1_5(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_6(X₀, X₁, X₂, X₃, X₄)
t₁₇: eval_realheapsort_step1_6(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, nondef.3-1, X₄) :|: 0 ≤ 1+X₃ ∧ 1+X₃ ≤ 0 ∧ 0 ≤ nondef.3 ∧ nondef.3 ≤ 0
t₁₈: eval_realheapsort_step1_6(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, nondef.3-1, X₄) :|: 2⋅nondef.3 ≤ 1+X₃ ∧ X₃ ≤ 2⋅nondef.3 ∧ 0 ≤ nondef.3 ∧ 0 ≤ X₃
t₁₉: eval_realheapsort_step1_6(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, nondef.3-1, X₄) :|: 2⋅nondef.3 ≤ 2+X₃ ∧ 1+X₃ ≤ 2⋅nondef.3 ∧ 2+X₃ ≤ 0 ∧ nondef.3 ≤ 0
t₁: eval_realheapsort_step1_bb0_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb1_in(X₀, X₁, X₂, X₃, 1) :|: 3 ≤ X₂
t₂: eval_realheapsort_step1_bb0_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb5_in(X₀, X₁, X₂, X₃, X₄) :|: X₂ ≤ 2
t₃: eval_realheapsort_step1_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, X₄, X₄) :|: 1+X₄ ≤ X₂
t₄: eval_realheapsort_step1_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb5_in(X₀, X₁, X₂, X₃, X₄) :|: X₂ ≤ X₄
t₆: eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_.critedge_in(X₀, X₁, X₂, X₃, X₄) :|: X₃ ≤ 0
t₅: eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb3_in(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₃
t₇: eval_realheapsort_step1_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_2(X₀, X₁, X₂, X₃, X₄)
t₁₄: eval_realheapsort_step1_bb4_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_5(X₀, X₁, X₂, X₃, X₄)
t₂₁: eval_realheapsort_step1_bb5_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_stop(X₀, X₁, X₂, X₃, X₄)
t₀: eval_realheapsort_step1_start(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb0_in(X₀, X₁, X₂, X₃, X₄)

Preprocessing

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_4

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ ∧ 1+X₁ ≤ X₀ for location eval_realheapsort_step1_bb4_in

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_2

Found invariant X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 4 ≤ X₂+X₄ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_bb1_in

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 0 ≤ X₃ ∧ 3 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_.critedge_in

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ ∧ 1+X₁ ≤ X₀ for location eval_realheapsort_step1_5

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ ∧ 1+X₁ ≤ X₀ for location eval_realheapsort_step1_6

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 0 ≤ X₃ ∧ 3 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_bb2_in

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_bb3_in

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_3

Cut unsatisfiable transition [t₁₇: eval_realheapsort_step1_6→eval_realheapsort_step1_bb2_in; t₁₉: eval_realheapsort_step1_6→eval_realheapsort_step1_bb2_in]

Problem after Preprocessing

Start: eval_realheapsort_step1_start
Program_Vars: X₀, X₁, X₂, X₃, X₄
Temp_Vars: nondef.0, nondef.1, nondef.3
Locations: eval_realheapsort_step1_.critedge_in, eval_realheapsort_step1_2, eval_realheapsort_step1_3, eval_realheapsort_step1_4, eval_realheapsort_step1_5, eval_realheapsort_step1_6, eval_realheapsort_step1_bb0_in, eval_realheapsort_step1_bb1_in, eval_realheapsort_step1_bb2_in, eval_realheapsort_step1_bb3_in, eval_realheapsort_step1_bb4_in, eval_realheapsort_step1_bb5_in, eval_realheapsort_step1_start, eval_realheapsort_step1_stop
Transitions:
t₂₀: eval_realheapsort_step1_.critedge_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb1_in(X₀, X₁, X₂, X₃, 1+X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₃+X₄ ∧ 1 ≤ X₄ ∧ 3 ≤ X₂ ∧ 3 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ ∧ 0 ≤ X₃
t₉: eval_realheapsort_step1_2(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_3(nondef.0, X₁, X₂, X₃, X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄
t₁₁: eval_realheapsort_step1_3(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_4(X₀, nondef.1, X₂, X₃, X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄
t₁₃: eval_realheapsort_step1_4(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_.critedge_in(X₀, X₁, X₂, X₃, X₄) :|: X₀ ≤ X₁ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄
t₁₂: eval_realheapsort_step1_4(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb4_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₁ ≤ X₀ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄
t₁₆: eval_realheapsort_step1_5(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_6(X₀, X₁, X₂, X₃, X₄) :|: 1+X₁ ≤ X₀ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄
t₁₈: eval_realheapsort_step1_6(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, nondef.3-1, X₄) :|: 2⋅nondef.3 ≤ 1+X₃ ∧ X₃ ≤ 2⋅nondef.3 ∧ 0 ≤ nondef.3 ∧ 0 ≤ X₃ ∧ 1+X₁ ≤ X₀ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄
t₁: eval_realheapsort_step1_bb0_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb1_in(X₀, X₁, X₂, X₃, 1) :|: 3 ≤ X₂
t₂: eval_realheapsort_step1_bb0_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb5_in(X₀, X₁, X₂, X₃, X₄) :|: X₂ ≤ 2
t₃: eval_realheapsort_step1_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, X₄, X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₄ ∧ X₄ ≤ X₂
t₄: eval_realheapsort_step1_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb5_in(X₀, X₁, X₂, X₃, X₄) :|: X₂ ≤ X₄ ∧ 1 ≤ X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₄ ∧ X₄ ≤ X₂
t₆: eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_.critedge_in(X₀, X₁, X₂, X₃, X₄) :|: X₃ ≤ 0 ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃+X₄ ∧ 1 ≤ X₄ ∧ 3 ≤ X₂ ∧ 3 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ ∧ 0 ≤ X₃
t₅: eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb3_in(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₃ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃+X₄ ∧ 1 ≤ X₄ ∧ 3 ≤ X₂ ∧ 3 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ ∧ 0 ≤ X₃
t₇: eval_realheapsort_step1_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_2(X₀, X₁, X₂, X₃, X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄
t₁₄: eval_realheapsort_step1_bb4_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_5(X₀, X₁, X₂, X₃, X₄) :|: 1+X₁ ≤ X₀ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄
t₂₁: eval_realheapsort_step1_bb5_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_stop(X₀, X₁, X₂, X₃, X₄)
t₀: eval_realheapsort_step1_start(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb0_in(X₀, X₁, X₂, X₃, X₄)

MPRF for transition t₃: eval_realheapsort_step1_bb1_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, X₄, X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₄ ∧ X₄ ≤ X₂ of depth 1:

new bound:

X₂+2 {O(n)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [X₂-X₄]
• eval_realheapsort_step1_2: [X₂-X₄]
• eval_realheapsort_step1_3: [X₂-X₄]
• eval_realheapsort_step1_4: [X₂-X₄]
• eval_realheapsort_step1_5: [X₂-X₄]
• eval_realheapsort_step1_6: [X₂-X₄]
• eval_realheapsort_step1_bb1_in: [1+X₂-X₄]
• eval_realheapsort_step1_bb2_in: [X₂-X₄]
• eval_realheapsort_step1_bb3_in: [X₂-X₄]
• eval_realheapsort_step1_bb4_in: [X₂-X₄]

MPRF for transition t₆: eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_.critedge_in(X₀, X₁, X₂, X₃, X₄) :|: X₃ ≤ 0 ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃+X₄ ∧ 1 ≤ X₄ ∧ 3 ≤ X₂ ∧ 3 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ ∧ 0 ≤ X₃ of depth 1:

new bound:

X₂+2 {O(n)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [X₂-X₄]
• eval_realheapsort_step1_2: [1+X₂-X₄]
• eval_realheapsort_step1_3: [1+X₂-X₄]
• eval_realheapsort_step1_4: [1+X₂-X₄]
• eval_realheapsort_step1_5: [1+X₂-X₄]
• eval_realheapsort_step1_6: [1+X₂-X₄]
• eval_realheapsort_step1_bb1_in: [1+X₂-X₄]
• eval_realheapsort_step1_bb2_in: [1+X₂-X₄]
• eval_realheapsort_step1_bb3_in: [1+X₂-X₄]
• eval_realheapsort_step1_bb4_in: [1+X₂-X₄]

MPRF for transition t₁₃: eval_realheapsort_step1_4(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_.critedge_in(X₀, X₁, X₂, X₃, X₄) :|: X₀ ≤ X₁ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ of depth 1:

new bound:

X₂+1 {O(n)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [X₂-1-X₄]
• eval_realheapsort_step1_2: [X₂-X₄]
• eval_realheapsort_step1_3: [X₂-X₄]
• eval_realheapsort_step1_4: [X₂-X₄]
• eval_realheapsort_step1_5: [X₂-X₄]
• eval_realheapsort_step1_6: [X₂-X₄]
• eval_realheapsort_step1_bb1_in: [X₂-X₄]
• eval_realheapsort_step1_bb2_in: [X₂-X₄]
• eval_realheapsort_step1_bb3_in: [X₂-X₄]
• eval_realheapsort_step1_bb4_in: [X₂-X₄]

MPRF for transition t₂₀: eval_realheapsort_step1_.critedge_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb1_in(X₀, X₁, X₂, X₃, 1+X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₃+X₄ ∧ 1 ≤ X₄ ∧ 3 ≤ X₂ ∧ 3 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ ∧ 0 ≤ X₃ of depth 1:

new bound:

X₂+1 {O(n)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [X₂-X₄]
• eval_realheapsort_step1_2: [X₂-X₄]
• eval_realheapsort_step1_3: [X₂-X₄]
• eval_realheapsort_step1_4: [X₂-X₄]
• eval_realheapsort_step1_5: [X₂-X₄]
• eval_realheapsort_step1_6: [X₂-X₄]
• eval_realheapsort_step1_bb1_in: [X₂-X₄]
• eval_realheapsort_step1_bb2_in: [X₂-X₄]
• eval_realheapsort_step1_bb3_in: [X₂-X₄]
• eval_realheapsort_step1_bb4_in: [X₂-X₄]

MPRF for transition t₅: eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb3_in(X₀, X₁, X₂, X₃, X₄) :|: 1 ≤ X₃ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃+X₄ ∧ 1 ≤ X₄ ∧ 3 ≤ X₂ ∧ 3 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ ∧ 0 ≤ X₃ of depth 1:

new bound:

2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [2⋅X₃]
• eval_realheapsort_step1_2: [2⋅X₃]
• eval_realheapsort_step1_3: [2⋅X₃]
• eval_realheapsort_step1_4: [2⋅X₃]
• eval_realheapsort_step1_5: [2⋅X₃]
• eval_realheapsort_step1_6: [2⋅X₃]
• eval_realheapsort_step1_bb1_in: [1+2⋅X₄]
• eval_realheapsort_step1_bb2_in: [1+2⋅X₃]
• eval_realheapsort_step1_bb3_in: [2⋅X₃]
• eval_realheapsort_step1_bb4_in: [2⋅X₃]

MPRF for transition t₇: eval_realheapsort_step1_bb3_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_2(X₀, X₁, X₂, X₃, X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ of depth 1:

new bound:

2⋅X₂⋅X₂+6⋅X₂+6 {O(n^2)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [-1-2⋅X₃]
• eval_realheapsort_step1_2: [2⋅X₃-2]
• eval_realheapsort_step1_3: [2⋅X₃-2]
• eval_realheapsort_step1_4: [2⋅X₃-2]
• eval_realheapsort_step1_5: [2⋅X₃-2]
• eval_realheapsort_step1_6: [2⋅X₃-2]
• eval_realheapsort_step1_bb1_in: [2⋅X₄]
• eval_realheapsort_step1_bb2_in: [2⋅X₃-1]
• eval_realheapsort_step1_bb3_in: [2⋅X₃-1]
• eval_realheapsort_step1_bb4_in: [2⋅X₃-2]

MPRF for transition t₉: eval_realheapsort_step1_2(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_3(nondef.0, X₁, X₂, X₃, X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ of depth 1:

new bound:

2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [X₃]
• eval_realheapsort_step1_2: [1+X₃]
• eval_realheapsort_step1_3: [X₃]
• eval_realheapsort_step1_4: [X₃]
• eval_realheapsort_step1_5: [X₃]
• eval_realheapsort_step1_6: [X₃]
• eval_realheapsort_step1_bb1_in: [1+2⋅X₄]
• eval_realheapsort_step1_bb2_in: [1+2⋅X₃]
• eval_realheapsort_step1_bb3_in: [1+X₃]
• eval_realheapsort_step1_bb4_in: [X₃]

MPRF for transition t₁₁: eval_realheapsort_step1_3(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_4(X₀, nondef.1, X₂, X₃, X₄) :|: 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ of depth 1:

new bound:

4⋅X₂⋅X₂+12⋅X₂+12 {O(n^2)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [X₃+2⋅X₄-3]
• eval_realheapsort_step1_2: [2⋅X₃+2⋅X₄-2]
• eval_realheapsort_step1_3: [2⋅X₃+2⋅X₄-3]
• eval_realheapsort_step1_4: [2⋅X₃+2⋅X₄-4]
• eval_realheapsort_step1_5: [2⋅X₃+2⋅X₄-4]
• eval_realheapsort_step1_6: [2⋅X₃+2⋅X₄-4]
• eval_realheapsort_step1_bb1_in: [4⋅X₄]
• eval_realheapsort_step1_bb2_in: [2⋅X₃+2⋅X₄-2]
• eval_realheapsort_step1_bb3_in: [2⋅X₃+2⋅X₄-2]
• eval_realheapsort_step1_bb4_in: [2⋅X₃+2⋅X₄-4]

MPRF for transition t₁₂: eval_realheapsort_step1_4(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb4_in(X₀, X₁, X₂, X₃, X₄) :|: 1+X₁ ≤ X₀ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ of depth 1:

new bound:

2⋅X₂⋅X₂+6⋅X₂+6 {O(n^2)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [0]
• eval_realheapsort_step1_2: [2⋅X₃-1]
• eval_realheapsort_step1_3: [2⋅X₃-1]
• eval_realheapsort_step1_4: [2⋅X₃-1]
• eval_realheapsort_step1_5: [2⋅X₃-2]
• eval_realheapsort_step1_6: [2⋅X₃-2]
• eval_realheapsort_step1_bb1_in: [2⋅X₄]
• eval_realheapsort_step1_bb2_in: [2⋅X₃]
• eval_realheapsort_step1_bb3_in: [2⋅X₃]
• eval_realheapsort_step1_bb4_in: [2⋅X₃-2]

MPRF for transition t₁₄: eval_realheapsort_step1_bb4_in(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_5(X₀, X₁, X₂, X₃, X₄) :|: 1+X₁ ≤ X₀ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ of depth 1:

new bound:

2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [2⋅X₃]
• eval_realheapsort_step1_2: [1+2⋅X₃]
• eval_realheapsort_step1_3: [1+2⋅X₃]
• eval_realheapsort_step1_4: [1+2⋅X₃]
• eval_realheapsort_step1_5: [2⋅X₃]
• eval_realheapsort_step1_6: [2⋅X₃]
• eval_realheapsort_step1_bb1_in: [1+2⋅X₄]
• eval_realheapsort_step1_bb2_in: [1+2⋅X₃]
• eval_realheapsort_step1_bb3_in: [1+2⋅X₃]
• eval_realheapsort_step1_bb4_in: [1+2⋅X₃]

MPRF for transition t₁₆: eval_realheapsort_step1_5(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_6(X₀, X₁, X₂, X₃, X₄) :|: 1+X₁ ≤ X₀ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ of depth 1:

new bound:

2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [X₃]
• eval_realheapsort_step1_2: [1+2⋅X₃]
• eval_realheapsort_step1_3: [1+2⋅X₃]
• eval_realheapsort_step1_4: [1+2⋅X₃]
• eval_realheapsort_step1_5: [1+2⋅X₃]
• eval_realheapsort_step1_6: [2⋅X₃]
• eval_realheapsort_step1_bb1_in: [1+2⋅X₄]
• eval_realheapsort_step1_bb2_in: [1+2⋅X₃]
• eval_realheapsort_step1_bb3_in: [1+2⋅X₃]
• eval_realheapsort_step1_bb4_in: [1+2⋅X₃]

MPRF for transition t₁₈: eval_realheapsort_step1_6(X₀, X₁, X₂, X₃, X₄) → eval_realheapsort_step1_bb2_in(X₀, X₁, X₂, nondef.3-1, X₄) :|: 2⋅nondef.3 ≤ 1+X₃ ∧ X₃ ≤ 2⋅nondef.3 ∧ 0 ≤ nondef.3 ∧ 0 ≤ X₃ ∧ 1+X₁ ≤ X₀ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₃ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 3 ≤ X₂ ∧ 4 ≤ X₂+X₃ ∧ 4 ≤ X₂+X₄ of depth 1:

new bound:

2⋅X₂⋅X₂+6⋅X₂+6 {O(n^2)}

MPRF:

• eval_realheapsort_step1_.critedge_in: [X₃]
• eval_realheapsort_step1_2: [X₃]
• eval_realheapsort_step1_3: [X₃]
• eval_realheapsort_step1_4: [X₃]
• eval_realheapsort_step1_5: [X₃]
• eval_realheapsort_step1_6: [X₃]
• eval_realheapsort_step1_bb1_in: [2⋅X₄]
• eval_realheapsort_step1_bb2_in: [2⋅X₃]
• eval_realheapsort_step1_bb3_in: [X₃]
• eval_realheapsort_step1_bb4_in: [X₃]

Cut unreachable locations [eval_realheapsort_step1_4] from the program graph

Cut unsatisfiable transition [t₆: eval_realheapsort_step1_bb2_in→eval_realheapsort_step1_.critedge_in; t₁₅₇: eval_realheapsort_step1_bb2_in→eval_realheapsort_step1_.critedge_in]

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ ∧ 1+X₁ ≤ X₀ for location eval_realheapsort_step1_bb3_in_v2

Found invariant X₄ ≤ X₃ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ X₃ ≤ X₄ ∧ 4 ≤ X₂+X₄ ∧ 1+X₃ ≤ X₂ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_2_v1

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ ∧ 1+X₁ ≤ X₀ for location eval_realheapsort_step1_6_v1

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 0 ≤ X₃ ∧ 3 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_.critedge_in

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ ∧ 1+X₁ ≤ X₀ for location eval_realheapsort_step1_2_v2

Found invariant X₄ ≤ X₃ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ X₃ ≤ X₄ ∧ 4 ≤ X₂+X₄ ∧ 1+X₃ ≤ X₂ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_bb2_in

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ ∧ 1+X₁ ≤ X₀ for location eval_realheapsort_step1_5_v1

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ ∧ 1+X₁ ≤ X₀ for location eval_realheapsort_step1_bb4_in_v1

Found invariant X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 4 ≤ X₂+X₄ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_bb1_in

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 1 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 0 ≤ X₃ ∧ 3 ≤ X₂+X₃ ∧ 3 ≤ X₂ ∧ 1+X₁ ≤ X₀ for location eval_realheapsort_step1_bb2_in_v1

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_3_v1

Found invariant 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ 4 ≤ X₂+X₄ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_4_v1

Found invariant X₄ ≤ X₃ ∧ 1+X₄ ≤ X₂ ∧ 1 ≤ X₄ ∧ 2 ≤ X₃+X₄ ∧ X₃ ≤ X₄ ∧ 4 ≤ X₂+X₄ ∧ 1+X₃ ≤ X₂ ∧ 1 ≤ X₃ ∧ 4 ≤ X₂+X₃ ∧ 3 ≤ X₂ for location eval_realheapsort_step1_bb3_in_v1

All Bounds

Timebounds

Overall timebound:18⋅X₂⋅X₂+62⋅X₂+73 {O(n^2)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 1 {O(1)}
t₃: X₂+2 {O(n)}
t₄: 1 {O(1)}
t₅: 2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}
t₆: X₂+2 {O(n)}
t₇: 2⋅X₂⋅X₂+6⋅X₂+6 {O(n^2)}
t₉: 2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}
t₁₁: 4⋅X₂⋅X₂+12⋅X₂+12 {O(n^2)}
t₁₂: 2⋅X₂⋅X₂+6⋅X₂+6 {O(n^2)}
t₁₃: X₂+1 {O(n)}
t₁₄: 2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}
t₁₆: 2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}
t₁₈: 2⋅X₂⋅X₂+6⋅X₂+6 {O(n^2)}
t₂₀: X₂+1 {O(n)}
t₂₁: 1 {O(1)}

Costbounds

Overall costbound: 18⋅X₂⋅X₂+62⋅X₂+73 {O(n^2)}
t₀: 1 {O(1)}
t₁: 1 {O(1)}
t₂: 1 {O(1)}
t₃: X₂+2 {O(n)}
t₄: 1 {O(1)}
t₅: 2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}
t₆: X₂+2 {O(n)}
t₇: 2⋅X₂⋅X₂+6⋅X₂+6 {O(n^2)}
t₉: 2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}
t₁₁: 4⋅X₂⋅X₂+12⋅X₂+12 {O(n^2)}
t₁₂: 2⋅X₂⋅X₂+6⋅X₂+6 {O(n^2)}
t₁₃: X₂+1 {O(n)}
t₁₄: 2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}
t₁₆: 2⋅X₂⋅X₂+7⋅X₂+8 {O(n^2)}
t₁₈: 2⋅X₂⋅X₂+6⋅X₂+6 {O(n^2)}
t₂₀: X₂+1 {O(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₄: 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₂+3 {O(n)}
t₃, X₄: X₂+2 {O(n)}
t₄, X₂: X₂ {O(n)}
t₄, X₃: X₂+3 {O(n)}
t₄, X₄: X₂+2 {O(n)}
t₅, X₂: X₂ {O(n)}
t₅, X₃: X₂+3 {O(n)}
t₅, X₄: X₂+2 {O(n)}
t₆, X₂: X₂ {O(n)}
t₆, X₃: 0 {O(1)}
t₆, X₄: X₂+2 {O(n)}
t₇, X₂: X₂ {O(n)}
t₇, X₃: X₂+3 {O(n)}
t₇, X₄: X₂+2 {O(n)}
t₉, X₂: X₂ {O(n)}
t₉, X₃: X₂+3 {O(n)}
t₉, X₄: X₂+2 {O(n)}
t₁₁, X₂: X₂ {O(n)}
t₁₁, X₃: X₂+3 {O(n)}
t₁₁, X₄: X₂+2 {O(n)}
t₁₂, X₂: X₂ {O(n)}
t₁₂, X₃: X₂+3 {O(n)}
t₁₂, X₄: X₂+2 {O(n)}
t₁₃, X₂: X₂ {O(n)}
t₁₃, X₃: X₂+3 {O(n)}
t₁₃, X₄: X₂+2 {O(n)}
t₁₄, X₂: X₂ {O(n)}
t₁₄, X₃: X₂+3 {O(n)}
t₁₄, X₄: X₂+2 {O(n)}
t₁₆, X₂: X₂ {O(n)}
t₁₆, X₃: X₂+3 {O(n)}
t₁₆, X₄: X₂+2 {O(n)}
t₁₈, X₂: X₂ {O(n)}
t₁₈, X₃: X₂+3 {O(n)}
t₁₈, X₄: X₂+2 {O(n)}
t₂₀, X₂: X₂ {O(n)}
t₂₀, X₃: X₂+3 {O(n)}
t₂₀, X₄: X₂+2 {O(n)}
t₂₁, X₂: 2⋅X₂ {O(n)}
t₂₁, X₃: X₂+X₃+3 {O(n)}
t₂₁, X₄: X₂+X₄+2 {O(n)}