The range as a function of release speed, angle and height:

R[v0_,th_,y0_]:=v0*Cos[th]*((v0 Sin[th]+(Sqrt[2 g y0+(v0^2) ((Sin[th])^2)]))/g);

Ignoring friction in the axle (and air resistance in the throwing arm, etc.), the kinetic energy of the projectile (m) is equal to the potential energy lost by the counterweight (M) minus the potential energy lost by the projectile.

rc is the distance from the axle to the counterweight, 
a is the arm length, and 
l is the length of the sling rope; 
we assume that the counterweight is released from an angle theta relative to the horizontal, and 
that the projectile is vertical at release.

This gives us the release velocity:

FullSimplify[Solve[m*v^2/2==M*g*(1+Sin[theta*Pi/180])rc-m*g*(a+l),v]]

Note that the range does not depend on g!

So this is the maximum range as a function of the masses and geometry:

R[m_,M_,rc_,a_,l_]:=Simplify[PowerExpand[R[(((Sqrt[2]) (Sqrt[g (-(a+l) m+M rc+M rc Sin[((π theta)/180)])]))/(Sqrt[m])),Pi/4,a+l]/.g->1]];

R[m,M,rc,a,l]

cm[in_]:=2.54*in;

Using the project test parameters:

YOU NEED TO MAKE SURE payloads, theta AND rcdistance ARE CORRECT FOR YOUR GROUP!

payloads={46,86};
counterweights={1000,1400,2000,2400};
slinglengths={10,15,20};
theta=75;
rcdistance=7.5;

Smaller projectiles should go further (again, ignoring air resistance!) because they lose less energy as they climb to release:

TableForm[paytab=Table[{payloads[[i]],R[payloads[[i]],1000,cm[rcdistance],cm[24],cm[20]]},{i,Length[payloads]}]]

ENTER YOUR RANGE DATA (IN FEET) HERE:

deliverable3table=Flatten[{Outer[List,{payloads[[1]]},cm[12*
{18,13,12.5,14,11.5,14,17,18,14.5,14}
]],Outer[List,{payloads[[2]]},cm[12*
{12 ,3.5,12,12.5,12,12,12,12,12,12.5}
]]},1]

{Mean[deliverable3table[[1]]],Mean[deliverable3table[[2]]]}

Show[{ListPlot[paytab,PlotStyle->{PointSize[.03],RGBColor[1,0,0]},DisplayFunction->Identity],ListPlot[Flatten[deliverable3table,1],PlotStyle->{PointSize[.03],RGBColor[0,1,0]},DisplayFunction->Identity],ListPlot[paytab,Joined->True,DisplayFunction->Identity],ListPlot[{Mean[deliverable3table[[1]]],Mean[deliverable3table[[2]]]},Joined->True,DisplayFunction->Identity]},DisplayFunction->$DisplayFunction,AxesOrigin->{0,0},PlotRange->All]

As expected, larger counterweights give greater range because of their larger initial potential energy:

TableForm[cwtab=Table[{counterweights[[i]],R[payloads[[2]],counterweights[[i]],cm[rcdistance],cm[24],cm[20]]},{i,Length[counterweights]}]]

ENTER YOUR RANGE DATA (IN FEET) HERE:

deliverable4table=Flatten[{Outer[List,{counterweights[[1]]},cm[12*
{12,13.5,12,12.5,12,12,12,12,12,12.5}
]],Outer[List,{counterweights[[2]]},cm[12*
{20,20,20,20,19,19.5,21,18,18,20}
]],Outer[List,{counterweights[[3]]},cm[12*
{28,22,27,20,28,28,26.5,29,27,27.5}
]],Outer[List,{counterweights[[4]]},cm[12*
{33,30,33,23,24,27,31,23,24.5,27}
]]},1]

{Mean[deliverable4table[[1]]],Mean[deliverable4table[[2]]],Mean[deliverable4table[[3]]],Mean[deliverable4table[[4]]]}

Show[{ListPlot[cwtab,PlotStyle->{PointSize[.03],RGBColor[1,0,0]},DisplayFunction->Identity],ListPlot[Flatten[deliverable4table,1],PlotStyle->{PointSize[.03],RGBColor[0,1,0]},DisplayFunction->Identity],ListPlot[cwtab,Joined->True,DisplayFunction->Identity],ListPlot[{Mean[deliverable4table[[1]]],Mean[deliverable4table[[2]]],Mean[deliverable4table[[3]]],Mean[deliverable4table[[4]]]},Joined->True,DisplayFunction->Identity]},DisplayFunction->$DisplayFunction,AxesOrigin->{0,0},PlotRange->All]

Because they allow the projectile to lose more energy to gravity, longer slings yield slightly smaller ranges (but these differences are probably not easily measurable):

TableForm[slingtab=Table[{slinglengths[[i]],R[payloads[[2]],1000,cm[rcdistance],cm[24],cm[slinglengths[[i]]]]},{i,Length[slinglengths]}]]

ENTER YOUR RANGE DATA (IN FEET) HERE:

deliverable5table=Flatten[{Outer[List,{slinglengths[[1]]},cm[12*
{3,8,3,6,6,5.5,4,5,5,3}
]],Outer[List,{slinglengths[[2]]},cm[12*
{10,10,9.5,9.5,9,9,9,9,9,10}
]],Outer[List,{slinglengths[[3]]},cm[12*
{12,13.5,12,12.5,12,12,12,12,12,12.5}
]]},1]

{Mean[deliverable5table[[1]]],Mean[deliverable5table[[2]]],Mean[deliverable5table[[3]]]}

Show[{ListPlot[slingtab,PlotStyle->{PointSize[.03],RGBColor[1,0,0]},DisplayFunction->Identity],ListPlot[Flatten[deliverable5table,1],PlotStyle->{PointSize[.03],RGBColor[0,1,0]},DisplayFunction->Identity],ListPlot[slingtab,Joined->True,DisplayFunction->Identity],ListPlot[{Mean[deliverable5table[[1]]],Mean[deliverable5table[[2]]],Mean[deliverable5table[[3]]]},Joined->True,DisplayFunction->Identity]},DisplayFunction->$DisplayFunction,AxesOrigin->{0,0},PlotRange->All]

Here we verify the linear behaviors in Taylor series expansions:

Simplify[PowerExpand[Series[R[m,1000,cm[rcdistance],cm[24],cm[20]],{m,46,2}]]]

Simplify[PowerExpand[Series[R[86,M,cm[rcdistance],cm[24],cm[20]],{M,1000,2}]]]

Simplify[PowerExpand[Series[R[86,1000,cm[rcdistance],cm[24],cm[l]],{l,10,2}]]]