1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
>>> R := { [i, j, k, l] :
>>> 0 <= i <= 19 &&
>>> 0 <= j <= 19 &&
>>> 1 <= k <= 1000 &&
>>> -k + l >= 0 &&
>>> 2 k - l + 1 >= 0 &&
>>> -200 i + k + l >= 0 &&
>>> 200 i - k - l + 199 >= 0 &&
>>> -200 j - k + 2 l >= 0 &&
>>> 200 j + k -2 l + 199 >= 0
>>> } ;
>>>
>>> codegen R;
for(t1 = 0; t1 <= 15; t1++) {
for(t2 = max(2*t1-15,intDiv(t1-1+1,2)); t2 <= min(t1+1,15); t2++) {
for(t3 = max(intDiv(200*t1-1+2,3),intDiv(200*t2-2+2,3),intDiv(400*t1-200*t2-199+2,3),1); t3 <= min(100*t1+99,intDiv(400*t1-200*t2+398,3),1000); t3++) {
for(t4 = max(t3,-t3+200*t1,intDiv(t3+200*t2+1,2)); t4 <= min(2*t3+1,-t3+200*t1+199,intDiv(t3+200*t2+199,2)); t4++) {
s1(t1,t2,t3,t4);
}
}
}
}
>>> codegen 2 R;
for(t1 = 0; t1 <= 15; t1++) {
for(t2 = max(2*t1-15,intDiv(t1-1+1,2)); t2 <= min(t1+1,15); t2++) {
if (t2 <= t1-1) {
for(t3 = intDiv(-200*t2+400*t1-199+2,3); t3 <= min(100*t1-1,intDiv(-200*t2+400*t1-2,3)); t3++) {
for(t4 = 200*t1-t3; t4 <= intDiv(t3+200*t2+199,2); t4++) {
s1(t1,t2,t3,t4);
}
}
}
for(t3 = max(intDiv(200*t1-1+2,3),intDiv(200*t2-2+2,3)); t3 <= min(100*t1-1,intDiv(200*t2+195,3),intDiv(400*t1-200*t2+398,3),1000); t3++) {
for(t4 = intDiv(t3+200*t2+1,2); t4 <= 2*t3+1; t4++) {
s1(t1,t2,t3,t4);
}
}
for(t3 = max(intDiv(200*t2+196+2,3),intDiv(-200*t2+400*t1-1+2,3)); t3 <= min(100*t1-1,intDiv(-200*t2+400*t1+198,3),1000); t3++) {
for(t4 = intDiv(200*t2+t3+1,2); t4 <= intDiv(200*t2+t3+199,2); t4++) {
s1(t1,t2,t3,t4);
}
}
if (t2 <= t1) {
for(t3 = intDiv(-200*t2+400*t1+199+2,3); t3 <= min(intDiv(-200*t2+400*t1+398,3),100*t1-1,1000); t3++) {
for(t4 = intDiv(200*t2+t3+1,2); t4 <= -t3+200*t1+199; t4++) {
s1(t1,t2,t3,t4);
}
}
}
if (t2 == 1 && t1 == 1) {
for(t3 = 100; t3 <= 132; t3++) {
for(t4 = intDiv(t3+200+1,2); t4 <= 2*t3+1; t4++) {
s1(1,1,t3,t4);
}
}
}
if (2*t2 == t1+1 && t2 >= 2) {
for(t3 = 200*t2-100; t3 <= 200*t2-68; t3++) {
for(t4 = intDiv(200*t2+t3+1,2); t4 <= intDiv(200*t2+t3+199,2); t4++) {
s1(t1,intDiv(t1+1,2),t3,t4);
}
}
}
if (2*t2 >= t1+1) {
for(t3 = max(intDiv(200*t2-2+2,3),intDiv(-200*t2+400*t1+199+2,3),100*t1); t3 <= min(intDiv(-200*t2+400*t1+398,3),1000); t3++) {
for(t4 = intDiv(t3+200*t2+1,2); t4 <= 200*t1-t3+199; t4++) {
s1(t1,t2,t3,t4);
}
}
}
if (t2 == 0 && t1 <= 0) {
for(t3 = 1; t3 <= 65; t3++) {
for(t4 = t3; t4 <= 2*t3+1; t4++) {
s1(0,0,t3,t4);
}
}
}
if (t2 == 0) {
for(t3 = max(100*t1,66); t3 <= intDiv(200*t1+198,3); t3++) {
for(t4 = t3; t4 <= intDiv(t3+199,2); t4++) {
s1(t1,0,t3,t4);
}
}
}
if (2*t2 <= t1) {
for(t3 = max(100*t1,intDiv(200*t1+199+2,3)); t3 <= min(200*t2+199,intDiv(400*t1-200*t2+200,3),1000); t3++) {
for(t4 = t3; t4 <= intDiv(t3+200*t2+199,2); t4++) {
s1(t1,t2,t3,t4);
}
}
}
if (2*t2 == t1 && t2 <= 4) {
for(t3 = 200*t2+67; t3 <= 200*t2+99; t3++) {
for(t4 = t3; t4 <= -t3+400*t2+199; t4++) {
s1(t1,intDiv(t1,2),t3,t4);
}
}
}
}
}
|