n = 1000000; "n = "; n; h = 10; "h = "; h; epsilon = 0.01; "epsilon = "; epsilon; r1 = 0.2; "r1 = "; r1; define xi(k,j) { auto aux, buf buf = scale; scale = 0; aux = (k+1)*n/e(j); scale = buf; return aux / ((k+1)*n) } define d(k,j) { return h*(2+l(2*(k+1)*n/(h*xi(k,j))))+l(2*l(n)*(h+1)/epsilon)+1; } define d_prime(k,j) { return h*(1+l(2/xi(k,j)))+l(2*l(n)*(h+1)/epsilon) + 1; } define g(x) { return (e(x) - 1 - x)/(x*x); } define a1(k,j) { auto coeff coeff = g(sqrt(8*d(k,j)/(xi(k,j)*n)))+0.5; return (1+1/k)*coeff*sqrt(2*xi(k,j)*d(k,j)/n); } define b2(k,j) { return (1 + 1/k)*(1+1/k)*2*d_prime(k,j)/n; } define aa(k,j) { return 1 + b2(k,j)*k*k/((1+k)*(1+k)); } define bb(k,j) { return r1 + a1(k,j) + k*b2(k,j)*((1+k)*(1-2*xi(k,j))-2*r1)/(2*(1+k)*(1+k)); } define cc(k,j) { auto aux1, aux2 aux1 = r1 + a1(k,j); aux2 = 1+k; return aux1*aux1-b2(k,j)*(aux2*xi(k,j)+r1)*(aux2*(1-xi(k,j))-r1)/(aux2*aux2); } define bound(k,j) { auto aux1, aux2 aux1 = aa(k,j); aux2 = bb(k,j); return (aux2 + sqrt(aux2*aux2-aux1*cc(k,j)))/aux1; } define bestbound(k,j1,j2) { auto j for (j=j1;j<=j2;j++) { print "b(",k,",",j,") = ", bound(k,j), "\n"; } } define thebest(k,j1,j2) { auto j, aux, aux2, bestj aux = 1; bestj = j1; for (j=j1;j<=j2;j++) { if ((aux2 = bound(k,j)) <= aux) { bestj = j; aux = aux2; } } print "b(",k,",",bestj,") = ", bound(k,bestj), "\n"; } define themust(k1,k2,j1,j2) { auto k, j, aux, aux2, bestk, bestj aux = 1; bestk = k1; bestj = j1; for (k=k1;k<=k2;k++) { for (j=j1;j<=j2;j++) { if ((aux2 = bound(k,j)) <= aux) { bestk = k; bestj = j; aux = aux2; } } print "b(",k,",",bestj,") = ", bound(k,bestj), "\n"; } print "b(",bestk,",",bestj,") = ", bound(bestk,bestj), "\n"; }