rsk[d0_, k_] := Module[{j, d, p, n}, j = 0; {p, n} = d0; Label[o1]; d = seekc[p, n]; {p, n} = d; j = j + 1; n = 1 + (11*n)/10; n = IntegerPart[n]; d = {p, n}; If[j < k, Goto[o1]]; d = {p, n}; Return[d]; ] seekc[pb_, n0_] := Module[{m, m2, pq, s}, m = n0; s = m*m; Label[o1]; m2 = Sqrt[s]; If[m2 < m + 1, Goto[o2]]; m = m + 1; Label[o2]; pq = pertb[pb, 1/m]; If[betr[pq, pb], Goto[o3]]; s = s + 1; Goto[o1]; Label[o3]; pq=rat[pq,15]; pq=N[pq,15]; Return[{pq, m}]; ] pertb[pa_, s_] := Module[{p1, p2, p3, p4, x, y, z}, {p1, p2, p3, p4} = pa; Label[o0]; x = R[]; y = DAb[]; x = x - 1/2; z = s*x; Label[o1]; If[y > 2, Goto[o4]]; If[y > 1, Goto[o2]]; p1 = p1 + z; Goto[o7]; Label[o2]; p2 = p2 + z; Goto[o7]; Label[o4]; If[y > 3, Goto[o5]]; p1 = p1 + z; Goto[o7]; Label[o5]; p2 = p2 + z; Goto[o7]; Label[o7]; If[Min[p1, p2, p3, p4] < 0, Goto[o0]]; x = {(1 + 3*p1 - p2 - p3 - p4)/4, (1 - p1 + 3*p2 - p3 - p4)/4, (1 - p1 - p2 + 3*p3 - p4)/4, (1 - p1 - p2 - p3 + 3*p4)/4}; Return[x]; ] R[] := Module[{s1, s2, s3}, s1 = Ra[]; s2 = Ra[]; s3 = Ra[]; s1 = 100000*s1 + s2; s3 = 100000*s1 + s3; s2 = s3/10^15; s1 = N[s2, 17]; Return[s1]; ] Ra[] := Random[Integer, 100000] DAb[] := Module[{x, y, z}, x = R[]; y = 4*x; z = 1 + Rationalize[y, 1]; Return[z]; ] xsf[px_] := xb[px, vv1] xb[pb_, vvb_] := Sort[xa[pb, vvb], Greater] xa[u_, v_] := xa4[u, v] xa4[pa_, vva_] := Module[{r, w1, w2, w3, w4, w12, w13, w23, w14, w24, w34, w123, w124, w134, w234, q1, q2, q3, q4}, {q1, q2, q3, q4} = pa; {w1, w2, w3, w4, w12, w13, w23, w14, w24, w34, w123, w124, w134, w234} = vva; r = {w1 - q1, w2 - q2, w3 - q3, w4 - q4, w12 - q1 - q2, w13 - q1 - q3, w23 - q2 - q3, w14 - q1 - q4, w24 - q2 - q4, w34 - q3 - q4, w123 - q1 - q2 - q3, w124 - q1 - q2 - q4, w134 - q1 - q3 - q4, w234 - q2 - q3 - q4}; Return[r]; ] s4sum[kk_] := Module[{r, f1, f2, f3, f4}, {f1, f2, f3, f4} = kk; r = f1 + f2 + f3 + f4; Return[r]; ] vv = {v1, v2, v3, v4, v12, v13, v23, v14, v24, v34, v123, v124, v134, v234} s4sum[kk_] := Module[{r, f1, f2, f3, f4}, {f1, f2, f3, f4} = kk; r = f1 + f2 + f3 + f4; Return[r]; ] pp = {p1, p2, p3, p4} rat[x_, k_Integer] := Rationalize[x, 1/10^(k + 2)] rat1[y_, j_Integer] := Rationalize[y,1/j]