Initial Problem

Start: eval_foo_start
Program_Vars: X₀, X₁, 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_start, eval_foo_stop
Transitions:
t₁: eval_foo_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_foo_bb1_in(X₆, X₃, X₅, X₃, X₄, X₅, X₆)
t₂: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) :|: 0 ≤ X₀
t₃: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_foo_bb3_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) :|: 1+X₀ ≤ 0
t₄: eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_foo_bb1_in(X₀-X₁, 1+X₂, 1+X₁, X₃, X₄, X₅, X₆)
t₅: eval_foo_bb3_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_foo_stop(X₀, X₁, X₂, X₃, X₄, X₅, X₆)
t₀: eval_foo_start(X₀, X₁, X₂, X₃, X₄, X₅, X₆) → eval_foo_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅, X₆)

Preprocessing

Eliminate variables [X₄] that do not contribute to the problem

Found invariant 0 ≤ X₀ for location eval_foo_bb2_in

Found invariant 1+X₀ ≤ 0 for location eval_foo_stop

Found invariant 1+X₀ ≤ 0 for location eval_foo_bb3_in

Problem after Preprocessing

Start: eval_foo_start
Program_Vars: X₀, 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_start, eval_foo_stop
Transitions:
t₁₁: eval_foo_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_foo_bb1_in(X₅, X₃, X₄, X₃, X₄, X₅)
t₁₂: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: 0 ≤ X₀
t₁₃: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_foo_bb3_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: 1+X₀ ≤ 0
t₁₄: eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_foo_bb1_in(X₀-X₁, 1+X₂, 1+X₁, X₃, X₄, X₅) :|: 0 ≤ X₀
t₁₅: eval_foo_bb3_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_foo_stop(X₀, X₁, X₂, X₃, X₄, X₅) :|: 1+X₀ ≤ 0
t₁₆: eval_foo_start(X₀, X₁, X₂, X₃, X₄, X₅) → eval_foo_bb0_in(X₀, X₁, X₂, X₃, X₄, X₅)

MPRF for transition t₁₂: eval_foo_bb1_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) :|: 0 ≤ X₀ of depth 3:

new bound:

27⋅X₄+54⋅X₃+81⋅X₅+28 {O(n)}

MPRF:

• eval_foo_bb1_in: [-X₁-X₂; 1+2⋅X₀-X₁; X₀]
• eval_foo_bb2_in: [-1-X₁-X₂; 2⋅X₀-2⋅X₁-X₂; X₀-X₁]

MPRF for transition t₁₄: eval_foo_bb2_in(X₀, X₁, X₂, X₃, X₄, X₅) → eval_foo_bb1_in(X₀-X₁, 1+X₂, 1+X₁, X₃, X₄, X₅) :|: 0 ≤ X₀ of depth 3:

new bound:

27⋅X₄+54⋅X₃+81⋅X₅+28 {O(n)}

MPRF:

• eval_foo_bb1_in: [-X₁-X₂; 1+2⋅X₀-X₁; X₀]
• eval_foo_bb2_in: [-X₁-X₂; 1+2⋅X₀-X₁; 0]

All Bounds

Timebounds

Overall timebound:108⋅X₃+162⋅X₅+54⋅X₄+60 {O(n)}
t₁₁: 1 {O(1)}
t₁₂: 27⋅X₄+54⋅X₃+81⋅X₅+28 {O(n)}
t₁₃: 1 {O(1)}
t₁₄: 27⋅X₄+54⋅X₃+81⋅X₅+28 {O(n)}
t₁₅: 1 {O(1)}
t₁₆: 1 {O(1)}

Costbounds

Overall costbound: 108⋅X₃+162⋅X₅+54⋅X₄+60 {O(n)}
t₁₁: 1 {O(1)}
t₁₂: 27⋅X₄+54⋅X₃+81⋅X₅+28 {O(n)}
t₁₃: 1 {O(1)}
t₁₄: 27⋅X₄+54⋅X₃+81⋅X₅+28 {O(n)}
t₁₅: 1 {O(1)}
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₀: 2970⋅X₃⋅X₃+2997⋅X₃⋅X₄+4455⋅X₄⋅X₅+6561⋅X₅⋅X₅+756⋅X₄⋅X₄+8829⋅X₃⋅X₅+1567⋅X₄+3106⋅X₃+4618⋅X₅+812 {O(n^2)}
t₁₂, X₁: 29⋅X₄+56⋅X₃+81⋅X₅+28 {O(n)}
t₁₂, X₂: 29⋅X₄+56⋅X₃+81⋅X₅+28 {O(n)}
t₁₂, X₃: X₃ {O(n)}
t₁₂, X₄: X₄ {O(n)}
t₁₂, X₅: X₅ {O(n)}
t₁₃, X₀: 256⋅X₅⋅X₅+272⋅X₃⋅X₃+272⋅X₄⋅X₅+280⋅X₃⋅X₄+528⋅X₃⋅X₅+72⋅X₄⋅X₄+25⋅X₄+49⋅X₃+50⋅X₅+2 {O(n^2)}
t₁₃, X₁: 10⋅X₄+16⋅X₅+19⋅X₃+1 {O(n)}
t₁₃, X₂: 11⋅X₄+16⋅X₅+18⋅X₃+1 {O(n)}
t₁₃, X₃: 2⋅X₃ {O(n)}
t₁₃, X₄: 2⋅X₄ {O(n)}
t₁₃, X₅: 2⋅X₅ {O(n)}
t₁₄, X₀: 256⋅X₅⋅X₅+272⋅X₃⋅X₃+272⋅X₄⋅X₅+280⋅X₃⋅X₄+528⋅X₃⋅X₅+72⋅X₄⋅X₄+25⋅X₄+49⋅X₃+49⋅X₅+2 {O(n^2)}
t₁₄, X₁: 10⋅X₄+16⋅X₅+18⋅X₃+1 {O(n)}
t₁₄, X₂: 10⋅X₄+16⋅X₅+18⋅X₃+1 {O(n)}
t₁₄, X₃: X₃ {O(n)}
t₁₄, X₄: X₄ {O(n)}
t₁₄, X₅: X₅ {O(n)}
t₁₅, X₀: 256⋅X₅⋅X₅+272⋅X₃⋅X₃+272⋅X₄⋅X₅+280⋅X₃⋅X₄+528⋅X₃⋅X₅+72⋅X₄⋅X₄+25⋅X₄+49⋅X₃+50⋅X₅+2 {O(n^2)}
t₁₅, X₁: 10⋅X₄+16⋅X₅+19⋅X₃+1 {O(n)}
t₁₅, X₂: 11⋅X₄+16⋅X₅+18⋅X₃+1 {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)}