summaryrefslogtreecommitdiff
path: root/omega/examples/experiments/swim/swim.out
blob: 6adffdbe9a84ea0d18818037f260ae4f6b8fd2c9 (plain)
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
>>> symbolic N3,M,N;
>>> 
>>> 
>>> s0:= {[t,i,j] : 0 <= j <= N-1 && 0 <= i <= M-1 && 0 <= t <= N3-1 };
>>> t0:={[t,i,j] -> [0,t,0,i,0,j,0]};
>>> s1:= {[t,j] : 0 <= j <= N-1 && 0 <= t <= N3-1};
>>>  
>>> t1:={[t,j] -> [0,t,1,j,0,0,0]};
>>> s2:= {[t,i] : 0 <= i <= M-1 && 0 <= t <= N3-1};
>>> t2:={[t,i] -> [0,t,2,i,0,0,0]};
>>>     
>>> s3:= {[t] : 0 <= t <= N3-1 };
>>>       
>>> t3:={[t] -> [0,t,3,0,0,0,0]};
>>>  
>>> s4:= {[t,i,j] : 0 <= j <= N-1 && i=M-1 && 0 <= t <= N3-1 };
>>> t4:={[t,i,j] -> [0,t,4,i,0,j,0] };
>>> s5:= {[t,j] : 0 <= j <= N-1 && 0 <= t <= N3-1 };
>>>                   
>>> t5:={[t,j] -> [0,t,8,j,0,0,0]};
>>>     
>>> s6:= {[t,i] : 0 <= i <= M-1 && 0 <= t <= N3-1 };
>>>                   
>>> t6:={[t,i] -> [0,t,9,i,0,0,0]};
>>>        
>>> s7:= {[t] : 0 <= t <= N3-1 };
>>>       
>>> t7:={[t] -> [0,t,10,0,0,0,0]};
>>>  
>>> s8:= {[t,i,j] : 0 <= j <= N-1 && M-2 <= i <= M-1 && 0 <= t <= N3-1 };
>>> t8:= {[t,i,j] -> [0,t,12,i,0,j,0]};
>>> s9:= {[t,j] : 0 <= j <= N-1 && 0 <= t <= N3-1 };
>>>  
>>> t9:={[t,j] -> [0,t,15,j,0,0,0]};
>>> s10:= {[t,i] : 0 <= i <= M-1 && 0 <= t <= N3-1 };
>>> t10:={[t,i] -> [0,t,16,i,3,0,0]};
>>>     
>>> s11:= {[t] : 0 <= t <= N3-1 };
>>>       
>>> t11:={[t] -> [0,t,17,0,0,0,0]};
>>>  
>>> s12:= {[t,i,j] : 0 <= j <= N-1 && 0 <= i <= 1 && 0 <= t <= N3-1 };
>>> t12:= {[t,i,j] -> [0,t,11,i,0,j,0]};
>>> s13:= {[t,i,j] : N-2 <= j <= N-1 && 2 <= i <= M-3 && 0 <= t <= N3-1 };
>>> t13:= {[t,i,j] -> [0,t,14,i,0,j,0]};
>>> s14:= {[t,i,j] : 0 <= j <= 1 && 2 <= i <= M-3 && 0 <= t <= N3-1 };
>>> t14:= {[t,i,j] -> [0,t,13,i,0,j,0]};
>>> s15:= {[t,i,j] : 2 <= j <= N-3 && 2 <= i <= M-3 && 0 <= t <= N3-1 };
>>> t15:={[t,i,j] -> [0,t,0,i+3,0,j+2,2]};
>>> 
>>> s16:= {[t,i,j] : 0 <= j <= N-1 && i=0 && 0 <= t <= N3-1 };
>>> t16:={[t,i,j] -> [0,t,5,i,0,j,0] };
>>> 
>>> s17:= {[t,i,j] : j =N-1 && 1<= i <=M-2 && 0 <= t <= N3-1 };
>>> t17:={[t,i,j] -> [0,t,6,i,0,j,0] };
>>> 
>>> s18:= {[t,i,j] : j =0 && 1<= i <=M-2 && 0 <= t <= N3-1};
>>> t18:={[t,i,j] -> [0,t,7,i,0,j,0] };
>>> 
>>> s19:= {[t,i,j] :1 <= j <= N-2 && 1 <= i <= M-2 && 0 <= t <= N3-1 };
>>> t19:={[t,i,j] -> [0,t,0,i+2,0,j+1,1]};
>>> 
>>> 
>>> 
>>> codegen 2  t0:s0,t1:s1,t2:s2,t3:s3,t4:s4,t5:s5,t6:s6,t7:s7,t8:s8,t9:s9,t10:s10,t11:s11,t12:s12,t13:s13,t14:s14,t15:s15,t16:s16,t17:s17,t18:s18,t19:s19;
for(t2 = 0; t2 <= N3-1; t2++) {
  if (N >= 1) {
    for(t4 = 0; t4 <= min(2,M-1); t4++) {
      for(t6 = 0; t6 <= N-1; t6++) {
        s0(t2,t4,t6);
      }
    }
    for(t4 = 3; t4 <= min(M-1,4); t4++) {
      for(t6 = 0; t6 <= min(1,N-1); t6++) {
        s0(t2,t4,t6);
      }
      for(t6 = 2; t6 <= min(3,N-1); t6++) {
        s0(t2,t4,t6);
        s19(t2,t4-2,t6-1);
      }
      for(t6 = 4; t6 <= N-1; t6++) {
        s0(t2,t4,t6);
        s19(t2,t4-2,t6-1);
      }
    }
    for(t4 = 5; t4 <= M-1; t4++) {
      for(t6 = 0; t6 <= min(1,N-1); t6++) {
        s0(t2,t4,t6);
      }
      for(t6 = 2; t6 <= min(N-1,3); t6++) {
        s0(t2,t4,t6);
        s19(t2,t4-2,t6-1);
      }
      for(t6 = 4; t6 <= N-1; t6++) {
        s0(t2,t4,t6);
        s19(t2,t4-2,t6-1);
        s15(t2,t4-3,t6-2);
      }
    }
  }
  if (M >= 3) {
    if (M >= 5) {
      for(t6 = 2; t6 <= min(N-1,3); t6++) {
        s19(t2,M-2,t6-1);
      }
      for(t6 = 4; t6 <= N-1; t6++) {
        s19(t2,M-2,t6-1);
        s15(t2,M-3,t6-2);
      }
    }
    else {
      for(t6 = 2; t6 <= N-1; t6++) {
        s19(t2,M-2,t6-1);
      }
    }
  }
  for(t4 = 0; t4 <= N-1; t4++) {
    s1(t2,t4);
  }
  for(t4 = 0; t4 <= M-1; t4++) {
    s2(t2,t4);
  }
  s3(t2);
  for(t6 = 0; t6 <= N-1; t6++) {
    s4(t2,M-1,t6);
  }
  for(t6 = 0; t6 <= N-1; t6++) {
    s16(t2,0,t6);
  }
  for(t4 = 1; t4 <= M-2; t4++) {
    s17(t2,t4,N-1);
  }
  for(t4 = 1; t4 <= M-2; t4++) {
    s18(t2,t4,0);
  }
  for(t4 = 0; t4 <= N-1; t4++) {
    s5(t2,t4);
  }
  for(t4 = 0; t4 <= M-1; t4++) {
    s6(t2,t4);
  }
  s7(t2);
  if (N >= 1) {
    for(t4 = 0; t4 <= 1; t4++) {
      for(t6 = 0; t6 <= N-1; t6++) {
        s12(t2,t4,t6);
      }
    }
    for(t4 = M-2; t4 <= M-1; t4++) {
      for(t6 = 0; t6 <= N-1; t6++) {
        s8(t2,t4,t6);
      }
    }
  }
  for(t4 = 2; t4 <= M-3; t4++) {
    for(t6 = 0; t6 <= 1; t6++) {
      s14(t2,t4,t6);
    }
  }
  for(t4 = 2; t4 <= M-3; t4++) {
    for(t6 = N-2; t6 <= N-1; t6++) {
      s13(t2,t4,t6);
    }
  }
  for(t4 = 0; t4 <= N-1; t4++) {
    s9(t2,t4);
  }
  for(t4 = 0; t4 <= M-1; t4++) {
    s10(t2,t4);
  }
  s11(t2);
}

>>> #codegen 2   s0,t1:s1,t2:s2,t3:s3,t4:s4,t5:s5,t6:s6,t7:s7,t8:s8,t9:s9,t10:s10,t11:s11,t12:s12,t13:s13,t14:s14,t15:s15,t16:s16,t17:s17,t18:s18,t19:s19;
>>> 
>>>