3
(include-book "simulator")
4
(include-book "compile")
9
(DELIVER . 4171) (DELIVER . 8601) (STEP . 2628) (STEP . 5460)
10
(STEP . 91) (DELIVER . 1679) (STEP . 7016) (STEP . 1200)
11
(DELIVER . 4466) (DELIVER . 3037) (DELIVER . 297) (DELIVER . 6124)
12
(DELIVER . 318) (DELIVER . 8179) (STEP . 30) (STEP . 9229)
13
(STEP . 2578) (DELIVER . 397) (DELIVER . 8538) (STEP . 8593)
14
(STEP . 3167) (STEP . 7727) (STEP . 6736) (STEP . 7074)
15
(DELIVER . 3575) (DELIVER . 7403) (STEP . 5457) (STEP . 5518)
16
(DELIVER . 4937) (DELIVER . 7809) (DELIVER . 4283) (STEP . 3460)
17
(STEP . 5613) (DELIVER . 7930) (STEP . 7872) (DELIVER . 7326)
18
(STEP . 6265) (DELIVER . 4308) (DELIVER . 9783) (STEP . 6137)
19
(DELIVER . 2433) (STEP . 5497) (DELIVER . 3809) (DELIVER . 4715)
20
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
21
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
22
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
23
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
24
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
25
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
26
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
27
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
28
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
29
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
30
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
31
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
32
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
33
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
34
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
35
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
36
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
37
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
38
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
39
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
40
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
41
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
42
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
43
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
44
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
45
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
46
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
47
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
48
(DELIVER . 4968) (STEP . 344) (STEP . 1733) (DELIVER . 1392)
49
(STEP . 6026) (DELIVER . 1112) (DELIVER . 8843) (STEP . 6888)
50
(STEP . 7271) (STEP . 8412) (STEP . 6133) (STEP . 8764) (STEP . 4904)
51
(STEP . 91) (DELIVER . 1679) (STEP . 7016) (STEP . 1200)
52
(DELIVER . 4466) (DELIVER . 3037) (DELIVER . 297) (DELIVER . 6124)
53
(DELIVER . 318) (DELIVER . 8179) (STEP . 30) (STEP . 9229)
54
(STEP . 2578) (DELIVER . 397) (DELIVER . 8538) (STEP . 8593)
55
(STEP . 3167) (STEP . 7727) (STEP . 6736) (STEP . 7074)
56
(DELIVER . 3575) (DELIVER . 7403) (STEP . 5457) (STEP . 5518)
57
(DELIVER . 4937) (DELIVER . 7809) (DELIVER . 4283) (STEP . 3460)
58
(STEP . 5613) (DELIVER . 7930) (STEP . 7872) (DELIVER . 7326)
59
(STEP . 6265) (DELIVER . 4308) (DELIVER . 9783) (STEP . 6137)
60
(DELIVER . 2433) (STEP . 5497) (DELIVER . 3809) (DELIVER . 4715)
61
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
62
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
63
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
64
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
65
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
66
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
67
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
68
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
69
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
70
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
71
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
72
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
73
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
74
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
75
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
76
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
77
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
78
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
79
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
80
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
81
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
82
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
83
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
84
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
85
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
86
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
87
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
88
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
89
(DELIVER . 4968) (STEP . 344) (STEP . 1733) (DELIVER . 1392)
90
(STEP . 6026) (DELIVER . 1112) (DELIVER . 8843) (STEP . 6888)
91
(STEP . 7271) (STEP . 8412) (STEP . 6133) (STEP . 8764) (STEP . 4904)
94
(DELIVER . 4171) (DELIVER . 8601) (STEP . 2628) (STEP . 5460)
95
(STEP . 91) (DELIVER . 1679) (STEP . 7016) (STEP . 1200)
96
(DELIVER . 4466) (DELIVER . 3037) (DELIVER . 297) (DELIVER . 6124)
97
(DELIVER . 318) (DELIVER . 8179) (STEP . 30) (STEP . 9229)
98
(STEP . 2578) (DELIVER . 397) (DELIVER . 8538) (STEP . 8593)
99
(STEP . 3167) (STEP . 7727) (STEP . 6736) (STEP . 7074)
100
(DELIVER . 3575) (DELIVER . 7403) (STEP . 5457) (STEP . 5518)
101
(DELIVER . 4937) (DELIVER . 7809) (DELIVER . 4283) (STEP . 3460)
102
(STEP . 5613) (DELIVER . 7930) (STEP . 7872) (DELIVER . 7326)
103
(STEP . 6265) (DELIVER . 4308) (DELIVER . 9783) (STEP . 6137)
104
(DELIVER . 2433) (STEP . 5497) (DELIVER . 3809) (DELIVER . 4715)
105
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
106
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
107
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
108
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
109
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
110
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
111
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
112
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
113
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
114
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
115
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
116
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
117
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
118
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
119
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
120
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
121
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
122
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
123
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
124
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
125
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
126
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
127
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
128
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
129
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
130
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
131
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
132
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
133
(DELIVER . 4968) (STEP . 344) (STEP . 1733) (DELIVER . 1392)
134
(STEP . 6026) (DELIVER . 1112) (DELIVER . 8843) (STEP . 6888)
135
(STEP . 7271) (STEP . 8412) (STEP . 6133) (STEP . 8764) (STEP . 4904)
136
(STEP . 91) (DELIVER . 1679) (STEP . 7016) (STEP . 1200)
137
(DELIVER . 4466) (DELIVER . 3037) (DELIVER . 297) (DELIVER . 6124)
138
(DELIVER . 318) (DELIVER . 8179) (STEP . 30) (STEP . 9229)
139
(STEP . 2578) (DELIVER . 397) (DELIVER . 8538) (STEP . 8593)
140
(STEP . 3167) (STEP . 7727) (STEP . 6736) (STEP . 7074)
141
(DELIVER . 3575) (DELIVER . 7403) (STEP . 5457) (STEP . 5518)
142
(DELIVER . 4937) (DELIVER . 7809) (DELIVER . 4283) (STEP . 3460)
143
(STEP . 5613) (DELIVER . 7930) (STEP . 7872) (DELIVER . 7326)
144
(STEP . 6265) (DELIVER . 4308) (DELIVER . 9783) (STEP . 6137)
145
(DELIVER . 2433) (STEP . 5497) (DELIVER . 3809) (DELIVER . 4715)
146
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
147
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
148
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
149
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
150
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
151
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
152
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
153
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
154
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
155
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
156
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
157
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
158
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
159
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
160
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
161
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
162
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
163
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
164
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
165
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
166
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
167
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
168
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
169
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
170
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
171
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
172
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
173
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
174
(DELIVER . 4968) (STEP . 344) (STEP . 1733) (DELIVER . 1392)
175
(STEP . 6026) (DELIVER . 1112) (DELIVER . 8843) (STEP . 6888)
176
(STEP . 7271) (STEP . 8412) (STEP . 6133) (STEP . 8764) (STEP . 4904)
179
(DELIVER . 4171) (DELIVER . 8601) (STEP . 2628) (STEP . 5460)
180
(STEP . 91) (DELIVER . 1679) (STEP . 7016) (STEP . 1200)
181
(DELIVER . 4466) (DELIVER . 3037) (DELIVER . 297) (DELIVER . 6124)
182
(DELIVER . 318) (DELIVER . 8179) (STEP . 30) (STEP . 9229)
183
(STEP . 2578) (DELIVER . 397) (DELIVER . 8538) (STEP . 8593)
184
(STEP . 3167) (STEP . 7727) (STEP . 6736) (STEP . 7074)
185
(DELIVER . 3575) (DELIVER . 7403) (STEP . 5457) (STEP . 5518)
186
(DELIVER . 4937) (DELIVER . 7809) (DELIVER . 4283) (STEP . 3460)
187
(STEP . 5613) (DELIVER . 7930) (STEP . 7872) (DELIVER . 7326)
188
(STEP . 6265) (DELIVER . 4308) (DELIVER . 9783) (STEP . 6137)
189
(DELIVER . 2433) (STEP . 5497) (DELIVER . 3809) (DELIVER . 4715)
190
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
191
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
192
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
193
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
194
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
195
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
196
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
197
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
198
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
199
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
200
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
201
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
202
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
203
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
204
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
205
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
206
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
207
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
208
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
209
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
210
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
211
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
212
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
213
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
214
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
215
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
216
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
217
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
218
(DELIVER . 4968) (STEP . 344) (STEP . 1733) (DELIVER . 1392)
219
(STEP . 6026) (DELIVER . 1112) (DELIVER . 8843) (STEP . 6888)
220
(STEP . 7271) (STEP . 8412) (STEP . 6133) (STEP . 8764) (STEP . 4904)
221
(STEP . 91) (DELIVER . 1679) (STEP . 7016) (STEP . 1200)
222
(DELIVER . 4466) (DELIVER . 3037) (DELIVER . 297) (DELIVER . 6124)
223
(DELIVER . 318) (DELIVER . 8179) (STEP . 30) (STEP . 9229)
224
(STEP . 2578) (DELIVER . 397) (DELIVER . 8538) (STEP . 8593)
225
(STEP . 3167) (STEP . 7727) (STEP . 6736) (STEP . 7074)
226
(DELIVER . 3575) (DELIVER . 7403) (STEP . 5457) (STEP . 5518)
227
(DELIVER . 4937) (DELIVER . 7809) (DELIVER . 4283) (STEP . 3460)
228
(STEP . 5613) (DELIVER . 7930) (STEP . 7872) (DELIVER . 7326)
229
(STEP . 6265) (DELIVER . 4308) (DELIVER . 9783) (STEP . 6137)
230
(DELIVER . 2433) (STEP . 5497) (DELIVER . 3809) (DELIVER . 4715)
231
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
232
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
233
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
234
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
235
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
236
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
237
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
238
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
239
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
240
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
241
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
242
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
243
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
244
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
245
(DELIVER . 4620) (STEP . 4009) (DELIVER . 2804) (STEP . 4379)
246
(STEP . 5861) (DELIVER . 5774) (DELIVER . 5009) (DELIVER . 1157)
247
(DELIVER . 6810) (DELIVER . 7092) (STEP . 7881) (DELIVER . 1482)
248
(DELIVER . 8311) (DELIVER . 9081) (DELIVER . 9421) (DELIVER . 5398)
249
(STEP . 1479) (STEP . 9636) (STEP . 7004) (STEP . 7265)
250
(DELIVER . 5280) (DELIVER . 2882) (STEP . 3706) (DELIVER . 3958)
251
(DELIVER . 1606) (STEP . 6121) (DELIVER . 2129) (STEP . 573)
252
(STEP . 7854) (DELIVER . 4293) (STEP . 5735) (STEP . 3629)
253
(DELIVER . 7005) (STEP . 1922) (STEP . 7669) (DELIVER . 1772)
254
(STEP . 5202) (STEP . 2576) (STEP . 7091) (DELIVER . 3976)
255
(STEP . 6828) (DELIVER . 5815) (DELIVER . 3000) (DELIVER . 5251)
256
(DELIVER . 7082) (DELIVER . 1645) (DELIVER . 5567) (STEP . 9840)
257
(STEP . 2061) (STEP . 2473) (STEP . 4960) (STEP . 1926) (STEP . 6336)
258
(STEP . 2559) (STEP . 7669) (DELIVER . 3834) (DELIVER . 8028)
259
(DELIVER . 4968) (STEP . 344) (STEP . 1733) (DELIVER . 1392)
260
(STEP . 6026) (DELIVER . 1112) (DELIVER . 8843) (STEP . 6888)
261
(STEP . 7271) (STEP . 8412) (STEP . 6133) (STEP . 8764) (STEP . 4904)
269
(list ; mstate = multiprocess state with connections
271
;; This program simulates a barrier algorithm implemented by the managers
272
;; for the clients. (There are no daemons or consoles.) The three clients
273
;; each must call the barrier (send fence-in message) before they can
274
;; continue (receive fence-out message). All connections are
275
;; pre-established in the initial mstate.
278
(list ; list of pstates, one for each process
280
;;------------------------------------------------------------- manager 0
282
;; Each manager is connected to its neighbors in the ring and to a client
283
;; process. The managers must collectively wait for all the clients to
284
;; enter the barrier (send their managers fence-in messages) before they
285
;; are allowed to leave (they wait for fence-out messages from their managers.)
287
(list ; first manager pstate
289
'(host1 1) ; process id for manager 0
291
(compile-list ; main manager program
293
(asgn select-set (lhs-fd cli-fd))
295
(select select-set selected-set)
296
(if (member lhs-fd selected-set)
299
(if (member cli-fd selected-set)
303
(return) ; end of main manager program
306
(procedure lhs-handler) ; lhs-handler
307
(receive lhs-fd lhs-message)
308
(asgn cmd (cdr (assoc 'cmd lhs-message)))
310
(if (equal cmd 'man-fence-in)
311
(call man-fence-in-handler)
313
(if (equal cmd 'man-fence-out)
314
(call man-fence-out-handler)
316
(return) ; end of lhs-handler
319
(procedure cli-handler) ; client handler in manager
320
(receive cli-fd cli-message)
321
(asgn cmd (cdr (assoc 'cmd cli-message)))
322
(if (equal cmd 'cli-fence-in)
323
(call cli-fence-in-handler)
325
(if (not (equal cmd 'cli-fence-in))
326
(asgn status 'ERROR-unxpected-message-not-fence-in)
328
(return) ; end of cli-handler
331
; beginning of specific message handlers
334
(procedure cli-fence-in-handler) ; manager gets fence-in message from client
335
(asgn client-fenced-in 1)
337
(send rhs-fd (('cmd . 'man-fence-in)))
339
(if (not (equal man-id 0))
340
(if (equal fence-in-msg-here 1)
341
(send rhs-fd (('cmd . 'man-fence-in)))
344
(return) ; end of cli-fence-in handler
346
(procedure man-fence-in-handler) ; manager gets fence-in message from lhs
347
(asgn fence-in-msg-here 1)
349
(send rhs-fd (('cmd . 'man-fence-out)))
351
(if (not (equal man-id 0))
352
(if (equal client-fenced-in 1)
353
(send rhs-fd (('cmd . 'man-fence-in)))
356
(return) ; end of man-fence-in-handler
358
(procedure man-fence-out-handler) ; manager gets fence out message from lhs
359
(send cli-fd (('cmd . 'cli-fence-out)))
360
(if (not (equal man-id 0))
361
(send rhs-fd (('cmd . 'man-fence-out)))
363
(return) ; end of man-fence-out-handler
365
) ; uncompiled program
370
'((man-id . 0) ; initial memory
371
(fence-in-msg-here . 0)
372
(client-fenced-in . 0)
380
;;------------------------------------------------------------- manager 1
382
;; Same as for manager 0
384
(list ; first manager pstate
386
'(host2 1) ; process id for manager 0
388
(compile-list ; main manager program
390
(asgn select-set (lhs-fd cli-fd))
392
(select select-set selected-set)
393
(if (member lhs-fd selected-set)
396
(if (member cli-fd selected-set)
400
(return) ; end of main manager program
403
(procedure lhs-handler) ; lhs-handler
404
(receive lhs-fd lhs-message)
405
(asgn cmd (cdr (assoc 'cmd lhs-message)))
407
(if (equal cmd 'man-fence-in)
408
(call man-fence-in-handler)
410
(if (equal cmd 'man-fence-out)
411
(call man-fence-out-handler)
413
(return) ; end of lhs-handler
416
(procedure cli-handler) ; client handler in manager
417
(receive cli-fd cli-message)
418
(asgn cmd (cdr (assoc 'cmd cli-message)))
419
(if (equal cmd 'cli-fence-in)
420
(call cli-fence-in-handler)
422
(if (not (equal cmd 'cli-fence-in))
423
(asgn status 'ERROR-unxpected-message-not-fence-in)
425
(return) ; end of cli-handler
428
; beginning of specific message handlers
431
(procedure cli-fence-in-handler) ; manager gets fence-in message from client
432
(asgn client-fenced-in 1)
434
(send rhs-fd (('cmd . 'man-fence-in)))
436
(if (not (equal man-id 0))
437
(if (equal fence-in-msg-here 1)
438
(send rhs-fd (('cmd . 'man-fence-in)))
441
(return) ; end of cli-fence-in handler
443
(procedure man-fence-in-handler) ; manager gets fence-in message from lhs
444
(asgn fence-in-msg-here 1)
446
(send rhs-fd (('cmd . 'man-fence-out)))
448
(if (not (equal man-id 0))
449
(if (equal client-fenced-in 1)
450
(send rhs-fd (('cmd . 'man-fence-in)))
453
(return) ; end of man-fence-in-handler
455
(procedure man-fence-out-handler) ; manager gets fence out message from lhs
456
(send cli-fd (('cmd . 'cli-fence-out)))
457
(if (not (equal man-id 0))
458
(send rhs-fd (('cmd . 'man-fence-out)))
460
(return) ; end of man-fence-out-handler
462
) ; uncompiled program
467
'((man-id . 1) ; initial memory
468
(fence-in-msg-here . 0)
469
(client-fenced-in . 0)
477
;;------------------------------------------------------------- manager 2
479
(list ; first manager pstate
481
;; same as for managers 0 and 1
483
'(host3 1) ; process id for manager 0
485
(compile-list ; main manager program
487
(asgn select-set (lhs-fd cli-fd))
489
(select select-set selected-set)
490
(if (member lhs-fd selected-set)
493
(if (member cli-fd selected-set)
497
(return) ; end of main manager program
500
(procedure lhs-handler) ; lhs-handler
501
(receive lhs-fd lhs-message)
502
(asgn cmd (cdr (assoc 'cmd lhs-message)))
504
(if (equal cmd 'man-fence-in)
505
(call man-fence-in-handler)
507
(if (equal cmd 'man-fence-out)
508
(call man-fence-out-handler)
510
(return) ; end of lhs-handler
513
(procedure cli-handler) ; client handler in manager
514
(receive cli-fd cli-message)
515
(asgn cmd (cdr (assoc 'cmd cli-message)))
516
(if (equal cmd 'cli-fence-in)
517
(call cli-fence-in-handler)
519
(if (not (equal cmd 'cli-fence-in))
520
(asgn status 'ERROR-unxpected-message-not-fence-in)
522
(return) ; end of cli-handler
525
; beginning of specific message handlers
528
(procedure cli-fence-in-handler) ; manager gets fence-in message from client
529
(asgn client-fenced-in 1)
531
(send rhs-fd (('cmd . 'man-fence-in)))
533
(if (not (equal man-id 0))
534
(if (equal fence-in-msg-here 1)
535
(send rhs-fd (('cmd . 'man-fence-in)))
538
(return) ; end of cli-fence-in handler
540
(procedure man-fence-in-handler) ; manager gets fence-in message from lhs
541
(asgn fence-in-msg-here 1)
543
(send rhs-fd (('cmd . 'man-fence-out)))
545
(if (not (equal man-id 0))
546
(if (equal client-fenced-in 1)
547
(send rhs-fd (('cmd . 'man-fence-in)))
550
(return) ; end of man-fence-in-handler
552
(procedure man-fence-out-handler) ; manager gets fence out message from lhs
553
(send cli-fd (('cmd . 'cli-fence-out)))
554
(if (not (equal man-id 0))
555
(send rhs-fd (('cmd . 'man-fence-out)))
557
(return) ; end of man-fence-out-handler
559
) ; uncompiled program
564
'((man-id . 2) ; initial memory
565
(fence-in-msg-here . 0)
566
(client-fenced-in . 0)
574
;;-------------------------------------------------------- client 0
576
;; Each client sends its manager a fence-in message and waits for a
577
;; fence-out message.
579
(list ; client on first host
581
'(host1 2) ; process id for first client
583
(compile-list ; client doing fence
585
(send man-fd (('cmd . 'cli-fence-in)))
586
(receive man-fd man-message)
587
(asgn cmd (cdr (assoc 'cmd man-message)))
588
(if (not (equal cmd 'cli-fence-out))
589
(asgn status 'ERROR-unexpected-message-not-cli-fence-out)
591
(return) ; end of client
593
) ; uncompiled program
598
'((man-fd . 1)) ; initial memory
601
;;-------------------------------------------------------- client 1
603
;; Same as for client 0
605
(list ; client on first host
607
'(host2 2) ; process id for first client
609
(compile-list ; client doing fence
611
(send man-fd (('cmd . 'cli-fence-in)))
612
(receive man-fd man-message)
613
(asgn cmd (cdr (assoc 'cmd man-message)))
614
(if (not (equal cmd 'cli-fence-out))
615
(asgn status 'ERROR-unexpected-message-not-cli-fence-out)
617
(return) ; end of client
619
) ; uncompiled program
624
'((man-fd . 1)) ; initial memory
627
;;-------------------------------------------------------- client 2
629
;; Same as for clients 0 and 1
631
(list ; client on first host
633
'(host3 2) ; process id for first client
635
(compile-list ; client doing fence
637
(send man-fd (('cmd . 'cli-fence-in)))
638
(receive man-fd man-message)
639
(asgn cmd (cdr (assoc 'cmd man-message)))
640
(if (not (equal cmd 'cli-fence-out))
641
(asgn status 'ERROR-unexpected-message-not-cli-fence-out)
643
(return) ; end of client
645
) ; uncompiled program
650
'((man-fd . 1)) ; initial memory
653
;;------------------------------------------------------------
655
) ; end of pstate list
657
(list ; connection list
659
;; The managers are connected in a ring and each client is connected to one
662
'(((host1 1) 4 (host2 1) 3) nil nil)
663
'(((host2 1) 4 (host3 1) 3) nil nil)
664
'(((host3 1) 4 (host1 1) 3) nil nil)
666
'(((host1 1) 6 (host1 2) 1) nil nil)
667
'(((host2 1) 6 (host2 2) 1) nil nil)
668
'(((host3 1) 6 (host3 2) 1) nil nil)
670
'(((host2 1) 3 (host1 1) 4) nil nil)
671
'(((host3 1) 3 (host2 1) 4) nil nil)
672
'(((host1 1) 3 (host3 1) 4) nil nil)
674
'(((host1 2) 1 (host1 1) 6) nil nil)
675
'(((host2 2) 1 (host2 1) 6) nil nil)
676
'(((host3 2) 1 (host3 1) 6) nil nil)
678
) ; end of connections
680
(list ; list of sockets being listened on
682
) ; end of listening list
686
) ; End of multiprocess-state