PUBS: A Practical Upper Bounds Solver
Please follow these steps (more details in the help section):

Step 1: Provide a Cost Equation System.
Step 2: Provide an Entry or leave it empty and the solver will take the first equation as an entry. Also select the type of Computation.
Step 3: Click on the Solve button.

 CES eq(merge(A,B),0,[m0(A,B)],[B>=0,A>=0]). eq(m1(A),0,[],[]). eq(m2(A,B,C),0,[m3(A,B,C)],[A>=1,C>=0]). eq(m4,0,[],[]). eq(m3(A,B,C),0,[m5(A,B,C)],[A>=1,C>=0]). eq(m0(A,B),0,[m6(A,B)],[A>=0,B>=0]). eq(m7(A,B),2,[m1(A)],[B>=0,A>=0,B=0]). eq(m6(A,B),2,[m8(A,B)],[A>=0,B>=0]). eq(m8(A,B),0,[m9(A,B)],[]). eq(m8(A,B),0,[m7(A,B)],[]). eq(n0(A,G,H,I),10,[m1(F),merge(A,B),m2(C,D,E)],[B>=0,G+ -B>=1,C>=1,E>=0,A>=0,H+ -I>=1,G>=1,F>=1]). eq(m9(A,B),5,[n1(A,B,C,D)],[A>=0,B>=0]). eq(n1(A,B,C,D),0,[n0(A,B,C,D)],[]). eq(n1(A,B,C,D),0,[n2(A,B,C,D)],[]). eq(n3(F,C,E),7,[m1(D),m2(A,B,C)],[A>=1,E=0,F>=1,C>=0,D>=1]). eq(n4(G,B,H),10,[m1(F),merge(A,B),m2(C,D,E)],[A>=0,G+ -A>=1,C>=1,E>=0,H>=0,B>=0,F>=1,G+ -H>=1]). eq(n2(A,B,D,E),3,[n5(A,B,C)],[C>=0,A>=1,A+ -C>=1,B>=0,A>=0,-D+E>=0]). eq(n5(A,B,C),0,[n3(A,B,C)],[]). eq(n5(A,B,C),0,[n4(A,B,C)],[]). eq(n6,0,[],[]). eq(m5(B,C,A),9,[m4,n6],[A>=0,B>=1]). File Entry IEntry # Compute Upper Bound (Normal) Upper Bound (Normal with level-count enabled) Upper Bound (series) Lower Bound (series)