model and checks
[repair.git] / Repair / RepairCompiler / MCC / test2.cc
1
2 // Token values
3
4 // Used = 100
5 // Free = 101
6
7
8 int __Success = 1;
9 // creating hashtables 
10 SimpleHash* __int___hash = new SimpleHash();
11 SimpleHash* __FileBlock___hash = new SimpleHash();
12 SimpleHash* __UsedBlock___hash = new SimpleHash();
13 SimpleHash* __FileInode___hash = new SimpleHash();
14 SimpleHash* __SuperBlock___hash = new SimpleHash();
15 SimpleHash* __UsedInode___hash = new SimpleHash();
16 SimpleHash* __InodeBitmapBlock___hash = new SimpleHash();
17 SimpleHash* __BlockBitmapBlock___hash = new SimpleHash();
18 SimpleHash* __FileDirectoryBlock___hash = new SimpleHash();
19 SimpleHash* __token___hash = new SimpleHash();
20 SimpleHash* __DirectoryEntry___hash = new SimpleHash();
21 SimpleHash* __RootDirectoryInode___hash = new SimpleHash();
22 SimpleHash* __FreeBlock___hash = new SimpleHash();
23 SimpleHash* __GroupBlock___hash = new SimpleHash();
24 SimpleHash* __Block___hash = new SimpleHash();
25 SimpleHash* __DirectoryBlock___hash = new SimpleHash();
26 SimpleHash* __FreeInode___hash = new SimpleHash();
27 SimpleHash* __Inode___hash = new SimpleHash();
28 SimpleHash* __DirectoryInode___hash = new SimpleHash();
29 SimpleHash* __InodeTableBlock___hash = new SimpleHash();
30 __SuperBlock___hash->addParent(__UsedBlock___hash);
31 __GroupBlock___hash->addParent(__UsedBlock___hash);
32 __FileDirectoryBlock___hash->addParent(__UsedBlock___hash);
33 __InodeTableBlock___hash->addParent(__UsedBlock___hash);
34 __InodeBitmapBlock___hash->addParent(__UsedBlock___hash);
35 __BlockBitmapBlock___hash->addParent(__UsedBlock___hash);
36 __FileInode___hash->addParent(__UsedInode___hash);
37 __DirectoryInode___hash->addParent(__UsedInode___hash);
38 __DirectoryBlock___hash->addParent(__FileDirectoryBlock___hash);
39 __FileBlock___hash->addParent(__FileDirectoryBlock___hash);
40 __UsedBlock___hash->addParent(__Block___hash);
41 __FreeBlock___hash->addParent(__Block___hash);
42 __UsedInode___hash->addParent(__Inode___hash);
43 __FreeInode___hash->addParent(__Inode___hash);
44 __RootDirectoryInode___hash->addParent(__DirectoryInode___hash);
45 SimpleHash* __referencecount___hash = new SimpleHash();
46 SimpleHash* __referencecount___hashinv = new SimpleHash();
47 SimpleHash* __filesize___hash = new SimpleHash();
48 SimpleHash* __filesize___hashinv = new SimpleHash();
49 SimpleHash* __inodeof___hash = new SimpleHash();
50 SimpleHash* __inodeof___hashinv = new SimpleHash();
51 SimpleHash* __contents___hash = new SimpleHash();
52 SimpleHash* __contents___hashinv = new SimpleHash();
53 SimpleHash* __inodestatus___hash = new SimpleHash();
54 SimpleHash* __inodestatus___hashinv = new SimpleHash();
55 SimpleHash* __blockstatus___hash = new SimpleHash();
56 SimpleHash* __blockstatus___hashinv = new SimpleHash();
57
58
59 // build rule1
60 {
61   //true
62   int __tempvar0__ = 1;
63   if (__tempvar0__) {
64     int __element1__ = 0;
65     __SuperBlock___hash->add((int)__element1__, (int)__element1__);
66   }
67 }
68
69
70 // build rule2
71 {
72   //true
73   int __tempvar2__ = 1;
74   if (__tempvar2__) {
75     int __element3__ = 1;
76     __GroupBlock___hash->add((int)__element3__, (int)__element3__);
77   }
78 }
79
80
81 // build rule3
82 {
83   //d.g.InodeTableBlock < d.s.NumberofBlocks
84   // __left6__ <-- d.g
85   // __left7__ <-- d
86   int __left7__ = (int) d;
87   // __left7__ = d
88   // __offsetinbits8__ <-- 0 + 8 * d.s.blocksize + 0 * 1
89   int __leftop9__ = 0;
90   int __leftop13__ = 8;
91   // __left15__ <-- d.s
92   // __left16__ <-- d
93   int __left16__ = (int) d;
94   // __left16__ = d
95   int __left15__ = (__left16__ + 0);
96   // __left15__ = d.s
97   // __offsetinbits17__ <-- 32 + 32 + 32 + 32 + 32 + 0
98   int __leftop18__ = 32;
99   int __leftop20__ = 32;
100   int __leftop22__ = 32;
101   int __leftop24__ = 32;
102   int __leftop26__ = 32;
103   int __rightop27__ = 0;
104   int __rightop25__ = __leftop26__ + __rightop27__;
105   int __rightop23__ = __leftop24__ + __rightop25__;
106   int __rightop21__ = __leftop22__ + __rightop23__;
107   int __rightop19__ = __leftop20__ + __rightop21__;
108   int __offsetinbits17__ = __leftop18__ + __rightop19__;
109   // __offsetinbits17__ = 32 + 32 + 32 + 32 + 32 + 0
110   int __offset28__ = __offsetinbits17__ >> 3;
111   int __shift29__ = __offsetinbits17__ - (__offset28__ << 3);
112   int __rightop14__ = ((*(int *)(__left15__ + __offset28__))  >> __shift29__) & 0xffffffff;
113   int __leftop12__ = __leftop13__ * __rightop14__;
114   int __rightop30__ = 0;
115   int __leftop11__ = __leftop12__ + __rightop30__;
116   int __rightop31__ = 1;
117   int __rightop10__ = __leftop11__ * __rightop31__;
118   int __offsetinbits8__ = __leftop9__ + __rightop10__;
119   // __offsetinbits8__ = 0 + 8 * d.s.blocksize + 0 * 1
120   int __offset32__ = __offsetinbits8__ >> 3;
121   int __left6__ = (__left7__ + __offset32__);
122   // __left6__ = d.g
123   // __offsetinbits33__ <-- 32 + 32 + 0
124   int __leftop34__ = 32;
125   int __leftop36__ = 32;
126   int __rightop37__ = 0;
127   int __rightop35__ = __leftop36__ + __rightop37__;
128   int __offsetinbits33__ = __leftop34__ + __rightop35__;
129   // __offsetinbits33__ = 32 + 32 + 0
130   int __offset38__ = __offsetinbits33__ >> 3;
131   int __shift39__ = __offsetinbits33__ - (__offset38__ << 3);
132   int __leftop5__ = ((*(int *)(__left6__ + __offset38__))  >> __shift39__) & 0xffffffff;
133   // __left41__ <-- d.s
134   // __left42__ <-- d
135   int __left42__ = (int) d;
136   // __left42__ = d
137   int __left41__ = (__left42__ + 0);
138   // __left41__ = d.s
139   // __offsetinbits43__ <-- 32 + 32 + 0
140   int __leftop44__ = 32;
141   int __leftop46__ = 32;
142   int __rightop47__ = 0;
143   int __rightop45__ = __leftop46__ + __rightop47__;
144   int __offsetinbits43__ = __leftop44__ + __rightop45__;
145   // __offsetinbits43__ = 32 + 32 + 0
146   int __offset48__ = __offsetinbits43__ >> 3;
147   int __shift49__ = __offsetinbits43__ - (__offset48__ << 3);
148   int __rightop40__ = ((*(int *)(__left41__ + __offset48__))  >> __shift49__) & 0xffffffff;
149   int __tempvar4__ = __leftop5__ < __rightop40__;
150   if (__tempvar4__) {
151     // __left51__ <-- d.g
152     // __left52__ <-- d
153     int __left52__ = (int) d;
154     // __left52__ = d
155     // __offsetinbits53__ <-- 0 + 8 * d.s.blocksize + 0 * 1
156     int __leftop54__ = 0;
157     int __leftop58__ = 8;
158     // __left60__ <-- d.s
159     // __left61__ <-- d
160     int __left61__ = (int) d;
161     // __left61__ = d
162     int __left60__ = (__left61__ + 0);
163     // __left60__ = d.s
164     // __offsetinbits62__ <-- 32 + 32 + 32 + 32 + 32 + 0
165     int __leftop63__ = 32;
166     int __leftop65__ = 32;
167     int __leftop67__ = 32;
168     int __leftop69__ = 32;
169     int __leftop71__ = 32;
170     int __rightop72__ = 0;
171     int __rightop70__ = __leftop71__ + __rightop72__;
172     int __rightop68__ = __leftop69__ + __rightop70__;
173     int __rightop66__ = __leftop67__ + __rightop68__;
174     int __rightop64__ = __leftop65__ + __rightop66__;
175     int __offsetinbits62__ = __leftop63__ + __rightop64__;
176     // __offsetinbits62__ = 32 + 32 + 32 + 32 + 32 + 0
177     int __offset73__ = __offsetinbits62__ >> 3;
178     int __shift74__ = __offsetinbits62__ - (__offset73__ << 3);
179     int __rightop59__ = ((*(int *)(__left60__ + __offset73__))  >> __shift74__) & 0xffffffff;
180     int __leftop57__ = __leftop58__ * __rightop59__;
181     int __rightop75__ = 0;
182     int __leftop56__ = __leftop57__ + __rightop75__;
183     int __rightop76__ = 1;
184     int __rightop55__ = __leftop56__ * __rightop76__;
185     int __offsetinbits53__ = __leftop54__ + __rightop55__;
186     // __offsetinbits53__ = 0 + 8 * d.s.blocksize + 0 * 1
187     int __offset77__ = __offsetinbits53__ >> 3;
188     int __left51__ = (__left52__ + __offset77__);
189     // __left51__ = d.g
190     // __offsetinbits78__ <-- 32 + 32 + 0
191     int __leftop79__ = 32;
192     int __leftop81__ = 32;
193     int __rightop82__ = 0;
194     int __rightop80__ = __leftop81__ + __rightop82__;
195     int __offsetinbits78__ = __leftop79__ + __rightop80__;
196     // __offsetinbits78__ = 32 + 32 + 0
197     int __offset83__ = __offsetinbits78__ >> 3;
198     int __shift84__ = __offsetinbits78__ - (__offset83__ << 3);
199     int __element50__ = ((*(int *)(__left51__ + __offset83__))  >> __shift84__) & 0xffffffff;
200     __InodeTableBlock___hash->add((int)__element50__, (int)__element50__);
201   }
202 }
203
204
205 // build rule4
206 {
207   //d.g.InodeBitmapBlock < d.s.NumberofBlocks
208   // __left87__ <-- d.g
209   // __left88__ <-- d
210   int __left88__ = (int) d;
211   // __left88__ = d
212   // __offsetinbits89__ <-- 0 + 8 * d.s.blocksize + 0 * 1
213   int __leftop90__ = 0;
214   int __leftop94__ = 8;
215   // __left96__ <-- d.s
216   // __left97__ <-- d
217   int __left97__ = (int) d;
218   // __left97__ = d
219   int __left96__ = (__left97__ + 0);
220   // __left96__ = d.s
221   // __offsetinbits98__ <-- 32 + 32 + 32 + 32 + 32 + 0
222   int __leftop99__ = 32;
223   int __leftop101__ = 32;
224   int __leftop103__ = 32;
225   int __leftop105__ = 32;
226   int __leftop107__ = 32;
227   int __rightop108__ = 0;
228   int __rightop106__ = __leftop107__ + __rightop108__;
229   int __rightop104__ = __leftop105__ + __rightop106__;
230   int __rightop102__ = __leftop103__ + __rightop104__;
231   int __rightop100__ = __leftop101__ + __rightop102__;
232   int __offsetinbits98__ = __leftop99__ + __rightop100__;
233   // __offsetinbits98__ = 32 + 32 + 32 + 32 + 32 + 0
234   int __offset109__ = __offsetinbits98__ >> 3;
235   int __shift110__ = __offsetinbits98__ - (__offset109__ << 3);
236   int __rightop95__ = ((*(int *)(__left96__ + __offset109__))  >> __shift110__) & 0xffffffff;
237   int __leftop93__ = __leftop94__ * __rightop95__;
238   int __rightop111__ = 0;
239   int __leftop92__ = __leftop93__ + __rightop111__;
240   int __rightop112__ = 1;
241   int __rightop91__ = __leftop92__ * __rightop112__;
242   int __offsetinbits89__ = __leftop90__ + __rightop91__;
243   // __offsetinbits89__ = 0 + 8 * d.s.blocksize + 0 * 1
244   int __offset113__ = __offsetinbits89__ >> 3;
245   int __left87__ = (__left88__ + __offset113__);
246   // __left87__ = d.g
247   // __offsetinbits114__ <-- 32 + 0
248   int __leftop115__ = 32;
249   int __rightop116__ = 0;
250   int __offsetinbits114__ = __leftop115__ + __rightop116__;
251   // __offsetinbits114__ = 32 + 0
252   int __offset117__ = __offsetinbits114__ >> 3;
253   int __shift118__ = __offsetinbits114__ - (__offset117__ << 3);
254   int __leftop86__ = ((*(int *)(__left87__ + __offset117__))  >> __shift118__) & 0xffffffff;
255   // __left120__ <-- d.s
256   // __left121__ <-- d
257   int __left121__ = (int) d;
258   // __left121__ = d
259   int __left120__ = (__left121__ + 0);
260   // __left120__ = d.s
261   // __offsetinbits122__ <-- 32 + 32 + 0
262   int __leftop123__ = 32;
263   int __leftop125__ = 32;
264   int __rightop126__ = 0;
265   int __rightop124__ = __leftop125__ + __rightop126__;
266   int __offsetinbits122__ = __leftop123__ + __rightop124__;
267   // __offsetinbits122__ = 32 + 32 + 0
268   int __offset127__ = __offsetinbits122__ >> 3;
269   int __shift128__ = __offsetinbits122__ - (__offset127__ << 3);
270   int __rightop119__ = ((*(int *)(__left120__ + __offset127__))  >> __shift128__) & 0xffffffff;
271   int __tempvar85__ = __leftop86__ < __rightop119__;
272   if (__tempvar85__) {
273     // __left130__ <-- d.g
274     // __left131__ <-- d
275     int __left131__ = (int) d;
276     // __left131__ = d
277     // __offsetinbits132__ <-- 0 + 8 * d.s.blocksize + 0 * 1
278     int __leftop133__ = 0;
279     int __leftop137__ = 8;
280     // __left139__ <-- d.s
281     // __left140__ <-- d
282     int __left140__ = (int) d;
283     // __left140__ = d
284     int __left139__ = (__left140__ + 0);
285     // __left139__ = d.s
286     // __offsetinbits141__ <-- 32 + 32 + 32 + 32 + 32 + 0
287     int __leftop142__ = 32;
288     int __leftop144__ = 32;
289     int __leftop146__ = 32;
290     int __leftop148__ = 32;
291     int __leftop150__ = 32;
292     int __rightop151__ = 0;
293     int __rightop149__ = __leftop150__ + __rightop151__;
294     int __rightop147__ = __leftop148__ + __rightop149__;
295     int __rightop145__ = __leftop146__ + __rightop147__;
296     int __rightop143__ = __leftop144__ + __rightop145__;
297     int __offsetinbits141__ = __leftop142__ + __rightop143__;
298     // __offsetinbits141__ = 32 + 32 + 32 + 32 + 32 + 0
299     int __offset152__ = __offsetinbits141__ >> 3;
300     int __shift153__ = __offsetinbits141__ - (__offset152__ << 3);
301     int __rightop138__ = ((*(int *)(__left139__ + __offset152__))  >> __shift153__) & 0xffffffff;
302     int __leftop136__ = __leftop137__ * __rightop138__;
303     int __rightop154__ = 0;
304     int __leftop135__ = __leftop136__ + __rightop154__;
305     int __rightop155__ = 1;
306     int __rightop134__ = __leftop135__ * __rightop155__;
307     int __offsetinbits132__ = __leftop133__ + __rightop134__;
308     // __offsetinbits132__ = 0 + 8 * d.s.blocksize + 0 * 1
309     int __offset156__ = __offsetinbits132__ >> 3;
310     int __left130__ = (__left131__ + __offset156__);
311     // __left130__ = d.g
312     // __offsetinbits157__ <-- 32 + 0
313     int __leftop158__ = 32;
314     int __rightop159__ = 0;
315     int __offsetinbits157__ = __leftop158__ + __rightop159__;
316     // __offsetinbits157__ = 32 + 0
317     int __offset160__ = __offsetinbits157__ >> 3;
318     int __shift161__ = __offsetinbits157__ - (__offset160__ << 3);
319     int __element129__ = ((*(int *)(__left130__ + __offset160__))  >> __shift161__) & 0xffffffff;
320     __InodeBitmapBlock___hash->add((int)__element129__, (int)__element129__);
321   }
322 }
323
324
325 // build rule5
326 {
327   //d.g.BlockBitmapBlock < d.s.NumberofBlocks
328   // __left164__ <-- d.g
329   // __left165__ <-- d
330   int __left165__ = (int) d;
331   // __left165__ = d
332   // __offsetinbits166__ <-- 0 + 8 * d.s.blocksize + 0 * 1
333   int __leftop167__ = 0;
334   int __leftop171__ = 8;
335   // __left173__ <-- d.s
336   // __left174__ <-- d
337   int __left174__ = (int) d;
338   // __left174__ = d
339   int __left173__ = (__left174__ + 0);
340   // __left173__ = d.s
341   // __offsetinbits175__ <-- 32 + 32 + 32 + 32 + 32 + 0
342   int __leftop176__ = 32;
343   int __leftop178__ = 32;
344   int __leftop180__ = 32;
345   int __leftop182__ = 32;
346   int __leftop184__ = 32;
347   int __rightop185__ = 0;
348   int __rightop183__ = __leftop184__ + __rightop185__;
349   int __rightop181__ = __leftop182__ + __rightop183__;
350   int __rightop179__ = __leftop180__ + __rightop181__;
351   int __rightop177__ = __leftop178__ + __rightop179__;
352   int __offsetinbits175__ = __leftop176__ + __rightop177__;
353   // __offsetinbits175__ = 32 + 32 + 32 + 32 + 32 + 0
354   int __offset186__ = __offsetinbits175__ >> 3;
355   int __shift187__ = __offsetinbits175__ - (__offset186__ << 3);
356   int __rightop172__ = ((*(int *)(__left173__ + __offset186__))  >> __shift187__) & 0xffffffff;
357   int __leftop170__ = __leftop171__ * __rightop172__;
358   int __rightop188__ = 0;
359   int __leftop169__ = __leftop170__ + __rightop188__;
360   int __rightop189__ = 1;
361   int __rightop168__ = __leftop169__ * __rightop189__;
362   int __offsetinbits166__ = __leftop167__ + __rightop168__;
363   // __offsetinbits166__ = 0 + 8 * d.s.blocksize + 0 * 1
364   int __offset190__ = __offsetinbits166__ >> 3;
365   int __left164__ = (__left165__ + __offset190__);
366   // __left164__ = d.g
367   int __leftop163__ = ((*(int *)(__left164__ + 0))  >> 0) & 0xffffffff;
368   // __left192__ <-- d.s
369   // __left193__ <-- d
370   int __left193__ = (int) d;
371   // __left193__ = d
372   int __left192__ = (__left193__ + 0);
373   // __left192__ = d.s
374   // __offsetinbits194__ <-- 32 + 32 + 0
375   int __leftop195__ = 32;
376   int __leftop197__ = 32;
377   int __rightop198__ = 0;
378   int __rightop196__ = __leftop197__ + __rightop198__;
379   int __offsetinbits194__ = __leftop195__ + __rightop196__;
380   // __offsetinbits194__ = 32 + 32 + 0
381   int __offset199__ = __offsetinbits194__ >> 3;
382   int __shift200__ = __offsetinbits194__ - (__offset199__ << 3);
383   int __rightop191__ = ((*(int *)(__left192__ + __offset199__))  >> __shift200__) & 0xffffffff;
384   int __tempvar162__ = __leftop163__ < __rightop191__;
385   if (__tempvar162__) {
386     // __left202__ <-- d.g
387     // __left203__ <-- d
388     int __left203__ = (int) d;
389     // __left203__ = d
390     // __offsetinbits204__ <-- 0 + 8 * d.s.blocksize + 0 * 1
391     int __leftop205__ = 0;
392     int __leftop209__ = 8;
393     // __left211__ <-- d.s
394     // __left212__ <-- d
395     int __left212__ = (int) d;
396     // __left212__ = d
397     int __left211__ = (__left212__ + 0);
398     // __left211__ = d.s
399     // __offsetinbits213__ <-- 32 + 32 + 32 + 32 + 32 + 0
400     int __leftop214__ = 32;
401     int __leftop216__ = 32;
402     int __leftop218__ = 32;
403     int __leftop220__ = 32;
404     int __leftop222__ = 32;
405     int __rightop223__ = 0;
406     int __rightop221__ = __leftop222__ + __rightop223__;
407     int __rightop219__ = __leftop220__ + __rightop221__;
408     int __rightop217__ = __leftop218__ + __rightop219__;
409     int __rightop215__ = __leftop216__ + __rightop217__;
410     int __offsetinbits213__ = __leftop214__ + __rightop215__;
411     // __offsetinbits213__ = 32 + 32 + 32 + 32 + 32 + 0
412     int __offset224__ = __offsetinbits213__ >> 3;
413     int __shift225__ = __offsetinbits213__ - (__offset224__ << 3);
414     int __rightop210__ = ((*(int *)(__left211__ + __offset224__))  >> __shift225__) & 0xffffffff;
415     int __leftop208__ = __leftop209__ * __rightop210__;
416     int __rightop226__ = 0;
417     int __leftop207__ = __leftop208__ + __rightop226__;
418     int __rightop227__ = 1;
419     int __rightop206__ = __leftop207__ * __rightop227__;
420     int __offsetinbits204__ = __leftop205__ + __rightop206__;
421     // __offsetinbits204__ = 0 + 8 * d.s.blocksize + 0 * 1
422     int __offset228__ = __offsetinbits204__ >> 3;
423     int __left202__ = (__left203__ + __offset228__);
424     // __left202__ = d.g
425     int __element201__ = ((*(int *)(__left202__ + 0))  >> 0) & 0xffffffff;
426     __BlockBitmapBlock___hash->add((int)__element201__, (int)__element201__);
427   }
428 }
429
430
431 // build rule6
432 {
433   //d.s.RootDirectoryInode < d.s.NumberofInodes
434   // __left231__ <-- d.s
435   // __left232__ <-- d
436   int __left232__ = (int) d;
437   // __left232__ = d
438   int __left231__ = (__left232__ + 0);
439   // __left231__ = d.s
440   // __offsetinbits233__ <-- 32 + 32 + 32 + 32 + 0
441   int __leftop234__ = 32;
442   int __leftop236__ = 32;
443   int __leftop238__ = 32;
444   int __leftop240__ = 32;
445   int __rightop241__ = 0;
446   int __rightop239__ = __leftop240__ + __rightop241__;
447   int __rightop237__ = __leftop238__ + __rightop239__;
448   int __rightop235__ = __leftop236__ + __rightop237__;
449   int __offsetinbits233__ = __leftop234__ + __rightop235__;
450   // __offsetinbits233__ = 32 + 32 + 32 + 32 + 0
451   int __offset242__ = __offsetinbits233__ >> 3;
452   int __shift243__ = __offsetinbits233__ - (__offset242__ << 3);
453   int __leftop230__ = ((*(int *)(__left231__ + __offset242__))  >> __shift243__) & 0xffffffff;
454   // __left245__ <-- d.s
455   // __left246__ <-- d
456   int __left246__ = (int) d;
457   // __left246__ = d
458   int __left245__ = (__left246__ + 0);
459   // __left245__ = d.s
460   // __offsetinbits247__ <-- 32 + 32 + 32 + 0
461   int __leftop248__ = 32;
462   int __leftop250__ = 32;
463   int __leftop252__ = 32;
464   int __rightop253__ = 0;
465   int __rightop251__ = __leftop252__ + __rightop253__;
466   int __rightop249__ = __leftop250__ + __rightop251__;
467   int __offsetinbits247__ = __leftop248__ + __rightop249__;
468   // __offsetinbits247__ = 32 + 32 + 32 + 0
469   int __offset254__ = __offsetinbits247__ >> 3;
470   int __shift255__ = __offsetinbits247__ - (__offset254__ << 3);
471   int __rightop244__ = ((*(int *)(__left245__ + __offset254__))  >> __shift255__) & 0xffffffff;
472   int __tempvar229__ = __leftop230__ < __rightop244__;
473   if (__tempvar229__) {
474     // __left257__ <-- d.s
475     // __left258__ <-- d
476     int __left258__ = (int) d;
477     // __left258__ = d
478     int __left257__ = (__left258__ + 0);
479     // __left257__ = d.s
480     // __offsetinbits259__ <-- 32 + 32 + 32 + 32 + 0
481     int __leftop260__ = 32;
482     int __leftop262__ = 32;
483     int __leftop264__ = 32;
484     int __leftop266__ = 32;
485     int __rightop267__ = 0;
486     int __rightop265__ = __leftop266__ + __rightop267__;
487     int __rightop263__ = __leftop264__ + __rightop265__;
488     int __rightop261__ = __leftop262__ + __rightop263__;
489     int __offsetinbits259__ = __leftop260__ + __rightop261__;
490     // __offsetinbits259__ = 32 + 32 + 32 + 32 + 0
491     int __offset268__ = __offsetinbits259__ >> 3;
492     int __shift269__ = __offsetinbits259__ - (__offset268__ << 3);
493     int __element256__ = ((*(int *)(__left257__ + __offset268__))  >> __shift269__) & 0xffffffff;
494     __RootDirectoryInode___hash->add((int)__element256__, (int)__element256__);
495   }
496 }
497
498
499 // build rule9
500 {
501   for (SimpleIterator* __di___iterator = __DirectoryInode___hash->iterator(); __di___iterator->hasNext(); ) {
502     int __di__ = (int) __di___iterator->next();
503     for (SimpleIterator* __itb___iterator = __InodeTableBlock___hash->iterator(); __itb___iterator->hasNext(); ) {
504       int __itb__ = (int) __itb___iterator->next();
505       int __tempvar270__ = 0;
506       // __left274__ <-- d.s
507       // __left275__ <-- d
508       int __left275__ = (int) d;
509       // __left275__ = d
510       int __left274__ = (__left275__ + 0);
511       // __left274__ = d.s
512       // __offsetinbits276__ <-- 32 + 32 + 32 + 32 + 32 + 0
513       int __leftop277__ = 32;
514       int __leftop279__ = 32;
515       int __leftop281__ = 32;
516       int __leftop283__ = 32;
517       int __leftop285__ = 32;
518       int __rightop286__ = 0;
519       int __rightop284__ = __leftop285__ + __rightop286__;
520       int __rightop282__ = __leftop283__ + __rightop284__;
521       int __rightop280__ = __leftop281__ + __rightop282__;
522       int __rightop278__ = __leftop279__ + __rightop280__;
523       int __offsetinbits276__ = __leftop277__ + __rightop278__;
524       // __offsetinbits276__ = 32 + 32 + 32 + 32 + 32 + 0
525       int __offset287__ = __offsetinbits276__ >> 3;
526       int __shift288__ = __offsetinbits276__ - (__offset287__ << 3);
527       int __leftop273__ = ((*(int *)(__left274__ + __offset287__))  >> __shift288__) & 0xffffffff;
528       int __rightop289__ = 128;
529       int __leftop272__ = __leftop273__ / __rightop289__;
530       int __rightop290__ = 1;
531       int __tempvar271__ = __leftop272__ - __rightop290__;
532       for (int __j__ = __tempvar270__; __j__ <= __tempvar271__; __j__++) {
533         int __tempvar291__ = 0;
534         int __tempvar292__ = 11;
535         for (int __k__ = __tempvar291__; __k__ <= __tempvar292__; __k__++) {
536           //cast(__InodeTable__, d.b[itb]).itable[di].Blockptr[k] < d.s.NumberofBlocks
537           // __left295__ <-- cast(__InodeTable__, d.b[itb]).itable[di]
538           // __left296__ <-- cast(__InodeTable__, d.b[itb])
539           // __left298__ <-- d
540           int __left298__ = (int) d;
541           // __left298__ = d
542           // __offsetinbits299__ <-- 0 + 8 * d.s.blocksize + 0 * itb
543           int __leftop300__ = 0;
544           int __leftop304__ = 8;
545           // __left306__ <-- d.s
546           // __left307__ <-- d
547           int __left307__ = (int) d;
548           // __left307__ = d
549           int __left306__ = (__left307__ + 0);
550           // __left306__ = d.s
551           // __offsetinbits308__ <-- 32 + 32 + 32 + 32 + 32 + 0
552           int __leftop309__ = 32;
553           int __leftop311__ = 32;
554           int __leftop313__ = 32;
555           int __leftop315__ = 32;
556           int __leftop317__ = 32;
557           int __rightop318__ = 0;
558           int __rightop316__ = __leftop317__ + __rightop318__;
559           int __rightop314__ = __leftop315__ + __rightop316__;
560           int __rightop312__ = __leftop313__ + __rightop314__;
561           int __rightop310__ = __leftop311__ + __rightop312__;
562           int __offsetinbits308__ = __leftop309__ + __rightop310__;
563           // __offsetinbits308__ = 32 + 32 + 32 + 32 + 32 + 0
564           int __offset319__ = __offsetinbits308__ >> 3;
565           int __shift320__ = __offsetinbits308__ - (__offset319__ << 3);
566           int __rightop305__ = ((*(int *)(__left306__ + __offset319__))  >> __shift320__) & 0xffffffff;
567           int __leftop303__ = __leftop304__ * __rightop305__;
568           int __rightop321__ = 0;
569           int __leftop302__ = __leftop303__ + __rightop321__;
570           int __rightop322__ = (int) __itb__;
571           int __rightop301__ = __leftop302__ * __rightop322__;
572           int __offsetinbits299__ = __leftop300__ + __rightop301__;
573           // __offsetinbits299__ = 0 + 8 * d.s.blocksize + 0 * itb
574           int __offset323__ = __offsetinbits299__ >> 3;
575           int __expr297__ = (__left298__ + __offset323__);
576           int __left296__ = (int) __expr297__;
577           // __left296__ = cast(__InodeTable__, d.b[itb])
578           // __offsetinbits324__ <-- 0 + 32 + 32 * 12 + 32 + 0 * di
579           int __leftop325__ = 0;
580           int __leftop328__ = 32;
581           int __leftop331__ = 32;
582           int __rightop332__ = 12;
583           int __leftop330__ = __leftop331__ * __rightop332__;
584           int __leftop334__ = 32;
585           int __rightop335__ = 0;
586           int __rightop333__ = __leftop334__ + __rightop335__;
587           int __rightop329__ = __leftop330__ + __rightop333__;
588           int __leftop327__ = __leftop328__ + __rightop329__;
589           int __rightop336__ = (int) __di__;
590           int __rightop326__ = __leftop327__ * __rightop336__;
591           int __offsetinbits324__ = __leftop325__ + __rightop326__;
592           // __offsetinbits324__ = 0 + 32 + 32 * 12 + 32 + 0 * di
593           int __offset337__ = __offsetinbits324__ >> 3;
594           int __left295__ = (__left296__ + __offset337__);
595           // __left295__ = cast(__InodeTable__, d.b[itb]).itable[di]
596           // __offsetinbits338__ <-- 32 + 0 + 32 * k
597           int __leftop340__ = 32;
598           int __rightop341__ = 0;
599           int __leftop339__ = __leftop340__ + __rightop341__;
600           int __leftop343__ = 32;
601           int __rightop344__ = (int) __k__;
602           int __rightop342__ = __leftop343__ * __rightop344__;
603           int __offsetinbits338__ = __leftop339__ + __rightop342__;
604           // __offsetinbits338__ = 32 + 0 + 32 * k
605           int __offset345__ = __offsetinbits338__ >> 3;
606           int __shift346__ = __offsetinbits338__ - (__offset345__ << 3);
607           int __leftop294__ = ((*(int *)(__left295__ + __offset345__))  >> __shift346__) & 0xffffffff;
608           // __left348__ <-- d.s
609           // __left349__ <-- d
610           int __left349__ = (int) d;
611           // __left349__ = d
612           int __left348__ = (__left349__ + 0);
613           // __left348__ = d.s
614           // __offsetinbits350__ <-- 32 + 32 + 0
615           int __leftop351__ = 32;
616           int __leftop353__ = 32;
617           int __rightop354__ = 0;
618           int __rightop352__ = __leftop353__ + __rightop354__;
619           int __offsetinbits350__ = __leftop351__ + __rightop352__;
620           // __offsetinbits350__ = 32 + 32 + 0
621           int __offset355__ = __offsetinbits350__ >> 3;
622           int __shift356__ = __offsetinbits350__ - (__offset355__ << 3);
623           int __rightop347__ = ((*(int *)(__left348__ + __offset355__))  >> __shift356__) & 0xffffffff;
624           int __tempvar293__ = __leftop294__ < __rightop347__;
625           if (__tempvar293__) {
626             // __left358__ <-- cast(__DirectoryBlock__, d.b[cast(__InodeTable__, d.b[itb]).itable[di].Blockptr[k]])
627             // __left360__ <-- d
628             int __left360__ = (int) d;
629             // __left360__ = d
630             // __offsetinbits361__ <-- 0 + 8 * d.s.blocksize + 0 * cast(__InodeTable__, d.b[itb]).itable[di].Blockptr[k]
631             int __leftop362__ = 0;
632             int __leftop366__ = 8;
633             // __left368__ <-- d.s
634             // __left369__ <-- d
635             int __left369__ = (int) d;
636             // __left369__ = d
637             int __left368__ = (__left369__ + 0);
638             // __left368__ = d.s
639             // __offsetinbits370__ <-- 32 + 32 + 32 + 32 + 32 + 0
640             int __leftop371__ = 32;
641             int __leftop373__ = 32;
642             int __leftop375__ = 32;
643             int __leftop377__ = 32;
644             int __leftop379__ = 32;
645             int __rightop380__ = 0;
646             int __rightop378__ = __leftop379__ + __rightop380__;
647             int __rightop376__ = __leftop377__ + __rightop378__;
648             int __rightop374__ = __leftop375__ + __rightop376__;
649             int __rightop372__ = __leftop373__ + __rightop374__;
650             int __offsetinbits370__ = __leftop371__ + __rightop372__;
651             // __offsetinbits370__ = 32 + 32 + 32 + 32 + 32 + 0
652             int __offset381__ = __offsetinbits370__ >> 3;
653             int __shift382__ = __offsetinbits370__ - (__offset381__ << 3);
654             int __rightop367__ = ((*(int *)(__left368__ + __offset381__))  >> __shift382__) & 0xffffffff;
655             int __leftop365__ = __leftop366__ * __rightop367__;
656             int __rightop383__ = 0;
657             int __leftop364__ = __leftop365__ + __rightop383__;
658             // __left385__ <-- cast(__InodeTable__, d.b[itb]).itable[di]
659             // __left386__ <-- cast(__InodeTable__, d.b[itb])
660             // __left388__ <-- d
661             int __left388__ = (int) d;
662             // __left388__ = d
663             // __offsetinbits389__ <-- 0 + 8 * d.s.blocksize + 0 * itb
664             int __leftop390__ = 0;
665             int __leftop394__ = 8;
666             // __left396__ <-- d.s
667             // __left397__ <-- d
668             int __left397__ = (int) d;
669             // __left397__ = d
670             int __left396__ = (__left397__ + 0);
671             // __left396__ = d.s
672             // __offsetinbits398__ <-- 32 + 32 + 32 + 32 + 32 + 0
673             int __leftop399__ = 32;
674             int __leftop401__ = 32;
675             int __leftop403__ = 32;
676             int __leftop405__ = 32;
677             int __leftop407__ = 32;
678             int __rightop408__ = 0;
679             int __rightop406__ = __leftop407__ + __rightop408__;
680             int __rightop404__ = __leftop405__ + __rightop406__;
681             int __rightop402__ = __leftop403__ + __rightop404__;
682             int __rightop400__ = __leftop401__ + __rightop402__;
683             int __offsetinbits398__ = __leftop399__ + __rightop400__;
684             // __offsetinbits398__ = 32 + 32 + 32 + 32 + 32 + 0
685             int __offset409__ = __offsetinbits398__ >> 3;
686             int __shift410__ = __offsetinbits398__ - (__offset409__ << 3);
687             int __rightop395__ = ((*(int *)(__left396__ + __offset409__))  >> __shift410__) & 0xffffffff;
688             int __leftop393__ = __leftop394__ * __rightop395__;
689             int __rightop411__ = 0;
690             int __leftop392__ = __leftop393__ + __rightop411__;
691             int __rightop412__ = (int) __itb__;
692             int __rightop391__ = __leftop392__ * __rightop412__;
693             int __offsetinbits389__ = __leftop390__ + __rightop391__;
694             // __offsetinbits389__ = 0 + 8 * d.s.blocksize + 0 * itb
695             int __offset413__ = __offsetinbits389__ >> 3;
696             int __expr387__ = (__left388__ + __offset413__);
697             int __left386__ = (int) __expr387__;
698             // __left386__ = cast(__InodeTable__, d.b[itb])
699             // __offsetinbits414__ <-- 0 + 32 + 32 * 12 + 32 + 0 * di
700             int __leftop415__ = 0;
701             int __leftop418__ = 32;
702             int __leftop421__ = 32;
703             int __rightop422__ = 12;
704             int __leftop420__ = __leftop421__ * __rightop422__;
705             int __leftop424__ = 32;
706             int __rightop425__ = 0;
707             int __rightop423__ = __leftop424__ + __rightop425__;
708             int __rightop419__ = __leftop420__ + __rightop423__;
709             int __leftop417__ = __leftop418__ + __rightop419__;
710             int __rightop426__ = (int) __di__;
711             int __rightop416__ = __leftop417__ * __rightop426__;
712             int __offsetinbits414__ = __leftop415__ + __rightop416__;
713             // __offsetinbits414__ = 0 + 32 + 32 * 12 + 32 + 0 * di
714             int __offset427__ = __offsetinbits414__ >> 3;
715             int __left385__ = (__left386__ + __offset427__);
716             // __left385__ = cast(__InodeTable__, d.b[itb]).itable[di]
717             // __offsetinbits428__ <-- 32 + 0 + 32 * k
718             int __leftop430__ = 32;
719             int __rightop431__ = 0;
720             int __leftop429__ = __leftop430__ + __rightop431__;
721             int __leftop433__ = 32;
722             int __rightop434__ = (int) __k__;
723             int __rightop432__ = __leftop433__ * __rightop434__;
724             int __offsetinbits428__ = __leftop429__ + __rightop432__;
725             // __offsetinbits428__ = 32 + 0 + 32 * k
726             int __offset435__ = __offsetinbits428__ >> 3;
727             int __shift436__ = __offsetinbits428__ - (__offset435__ << 3);
728             int __rightop384__ = ((*(int *)(__left385__ + __offset435__))  >> __shift436__) & 0xffffffff;
729             int __rightop363__ = __leftop364__ * __rightop384__;
730             int __offsetinbits361__ = __leftop362__ + __rightop363__;
731             // __offsetinbits361__ = 0 + 8 * d.s.blocksize + 0 * cast(__InodeTable__, d.b[itb]).itable[di].Blockptr[k]
732             int __offset437__ = __offsetinbits361__ >> 3;
733             int __expr359__ = (__left360__ + __offset437__);
734             int __left358__ = (int) __expr359__;
735             // __left358__ = cast(__DirectoryBlock__, d.b[cast(__InodeTable__, d.b[itb]).itable[di].Blockptr[k]])
736             // __offsetinbits438__ <-- 0 + 32 + 8 * 124 + 0 * j
737             int __leftop439__ = 0;
738             int __leftop442__ = 32;
739             int __leftop445__ = 8;
740             int __rightop446__ = 124;
741             int __leftop444__ = __leftop445__ * __rightop446__;
742             int __rightop447__ = 0;
743             int __rightop443__ = __leftop444__ + __rightop447__;
744             int __leftop441__ = __leftop442__ + __rightop443__;
745             int __rightop448__ = (int) __j__;
746             int __rightop440__ = __leftop441__ * __rightop448__;
747             int __offsetinbits438__ = __leftop439__ + __rightop440__;
748             // __offsetinbits438__ = 0 + 32 + 8 * 124 + 0 * j
749             int __offset449__ = __offsetinbits438__ >> 3;
750             int __element357__ = (__left358__ + __offset449__);
751             __DirectoryEntry___hash->add((int)__element357__, (int)__element357__);
752           }
753         }
754       }
755     }
756   }
757 }
758
759
760 // build rule14
761 {
762   for (SimpleIterator* __de___iterator = __DirectoryEntry___hash->iterator(); __de___iterator->hasNext(); ) {
763     int __de__ = (int) __de___iterator->next();
764     //de.inodenumber < d.s.NumberofInodes && !de.inodenumber == 0
765     // __left453__ <-- de
766     int __left453__ = (int) __de__;
767     // __left453__ = de
768     // __offsetinbits454__ <-- 8 * 124 + 0
769     int __leftop456__ = 8;
770     int __rightop457__ = 124;
771     int __leftop455__ = __leftop456__ * __rightop457__;
772     int __rightop458__ = 0;
773     int __offsetinbits454__ = __leftop455__ + __rightop458__;
774     // __offsetinbits454__ = 8 * 124 + 0
775     int __offset459__ = __offsetinbits454__ >> 3;
776     int __shift460__ = __offsetinbits454__ - (__offset459__ << 3);
777     int __leftop452__ = ((*(int *)(__left453__ + __offset459__))  >> __shift460__) & 0xffffffff;
778     // __left462__ <-- d.s
779     // __left463__ <-- d
780     int __left463__ = (int) d;
781     // __left463__ = d
782     int __left462__ = (__left463__ + 0);
783     // __left462__ = d.s
784     // __offsetinbits464__ <-- 32 + 32 + 32 + 0
785     int __leftop465__ = 32;
786     int __leftop467__ = 32;
787     int __leftop469__ = 32;
788     int __rightop470__ = 0;
789     int __rightop468__ = __leftop469__ + __rightop470__;
790     int __rightop466__ = __leftop467__ + __rightop468__;
791     int __offsetinbits464__ = __leftop465__ + __rightop466__;
792     // __offsetinbits464__ = 32 + 32 + 32 + 0
793     int __offset471__ = __offsetinbits464__ >> 3;
794     int __shift472__ = __offsetinbits464__ - (__offset471__ << 3);
795     int __rightop461__ = ((*(int *)(__left462__ + __offset471__))  >> __shift472__) & 0xffffffff;
796     int __leftop451__ = __leftop452__ < __rightop461__;
797     // __left476__ <-- de
798     int __left476__ = (int) __de__;
799     // __left476__ = de
800     // __offsetinbits477__ <-- 8 * 124 + 0
801     int __leftop479__ = 8;
802     int __rightop480__ = 124;
803     int __leftop478__ = __leftop479__ * __rightop480__;
804     int __rightop481__ = 0;
805     int __offsetinbits477__ = __leftop478__ + __rightop481__;
806     // __offsetinbits477__ = 8 * 124 + 0
807     int __offset482__ = __offsetinbits477__ >> 3;
808     int __shift483__ = __offsetinbits477__ - (__offset482__ << 3);
809     int __leftop475__ = ((*(int *)(__left476__ + __offset482__))  >> __shift483__) & 0xffffffff;
810     int __rightop484__ = 0;
811     int __leftop474__ = __leftop475__ == __rightop484__;
812     int __rightop473__ = !__leftop474__;
813     int __tempvar450__ = __leftop451__ && __rightop473__;
814     if (__tempvar450__) {
815       // __left486__ <-- de
816       int __left486__ = (int) __de__;
817       // __left486__ = de
818       // __offsetinbits487__ <-- 8 * 124 + 0
819       int __leftop489__ = 8;
820       int __rightop490__ = 124;
821       int __leftop488__ = __leftop489__ * __rightop490__;
822       int __rightop491__ = 0;
823       int __offsetinbits487__ = __leftop488__ + __rightop491__;
824       // __offsetinbits487__ = 8 * 124 + 0
825       int __offset492__ = __offsetinbits487__ >> 3;
826       int __shift493__ = __offsetinbits487__ - (__offset492__ << 3);
827       int __element485__ = ((*(int *)(__left486__ + __offset492__))  >> __shift493__) & 0xffffffff;
828       __FileInode___hash->add((int)__element485__, (int)__element485__);
829     }
830   }
831 }
832
833
834 // build rule15
835 {
836   for (SimpleIterator* __de___iterator = __DirectoryEntry___hash->iterator(); __de___iterator->hasNext(); ) {
837     int __de__ = (int) __de___iterator->next();
838     //de.inodenumber < d.s.NumberofInodes
839     // __left496__ <-- de
840     int __left496__ = (int) __de__;
841     // __left496__ = de
842     // __offsetinbits497__ <-- 8 * 124 + 0
843     int __leftop499__ = 8;
844     int __rightop500__ = 124;
845     int __leftop498__ = __leftop499__ * __rightop500__;
846     int __rightop501__ = 0;
847     int __offsetinbits497__ = __leftop498__ + __rightop501__;
848     // __offsetinbits497__ = 8 * 124 + 0
849     int __offset502__ = __offsetinbits497__ >> 3;
850     int __shift503__ = __offsetinbits497__ - (__offset502__ << 3);
851     int __leftop495__ = ((*(int *)(__left496__ + __offset502__))  >> __shift503__) & 0xffffffff;
852     // __left505__ <-- d.s
853     // __left506__ <-- d
854     int __left506__ = (int) d;
855     // __left506__ = d
856     int __left505__ = (__left506__ + 0);
857     // __left505__ = d.s
858     // __offsetinbits507__ <-- 32 + 32 + 32 + 0
859     int __leftop508__ = 32;
860     int __leftop510__ = 32;
861     int __leftop512__ = 32;
862     int __rightop513__ = 0;
863     int __rightop511__ = __leftop512__ + __rightop513__;
864     int __rightop509__ = __leftop510__ + __rightop511__;
865     int __offsetinbits507__ = __leftop508__ + __rightop509__;
866     // __offsetinbits507__ = 32 + 32 + 32 + 0
867     int __offset514__ = __offsetinbits507__ >> 3;
868     int __shift515__ = __offsetinbits507__ - (__offset514__ << 3);
869     int __rightop504__ = ((*(int *)(__left505__ + __offset514__))  >> __shift515__) & 0xffffffff;
870     int __tempvar494__ = __leftop495__ < __rightop504__;
871     if (__tempvar494__) {
872       int __leftele516__ = (int) __de__;
873       // __left518__ <-- de
874       int __left518__ = (int) __de__;
875       // __left518__ = de
876       // __offsetinbits519__ <-- 8 * 124 + 0
877       int __leftop521__ = 8;
878       int __rightop522__ = 124;
879       int __leftop520__ = __leftop521__ * __rightop522__;
880       int __rightop523__ = 0;
881       int __offsetinbits519__ = __leftop520__ + __rightop523__;
882       // __offsetinbits519__ = 8 * 124 + 0
883       int __offset524__ = __offsetinbits519__ >> 3;
884       int __shift525__ = __offsetinbits519__ - (__offset524__ << 3);
885       int __rightele517__ = ((*(int *)(__left518__ + __offset524__))  >> __shift525__) & 0xffffffff;
886       __inodeof___hash->add((int)__leftele516__, (int)__rightele517__);
887       __inodeof___hashinv->add((int)__rightele517__, (int)__leftele516__);
888     }
889   }
890 }
891
892
893 // build rule11
894 {
895   for (SimpleIterator* __i___iterator = __UsedInode___hash->iterator(); __i___iterator->hasNext(); ) {
896     int __i__ = (int) __i___iterator->next();
897     for (SimpleIterator* __itb___iterator = __InodeTableBlock___hash->iterator(); __itb___iterator->hasNext(); ) {
898       int __itb__ = (int) __itb___iterator->next();
899       int __tempvar526__ = 0;
900       int __tempvar527__ = 11;
901       for (int __j__ = __tempvar526__; __j__ <= __tempvar527__; __j__++) {
902         //cast(__InodeTable__, d.b[itb]).itable[i].Blockptr[j] < d.s.NumberofBlocks && !cast(__InodeTable__, d.b[itb]).itable[i].Blockptr[j] == 0
903         // __left531__ <-- cast(__InodeTable__, d.b[itb]).itable[i]
904         // __left532__ <-- cast(__InodeTable__, d.b[itb])
905         // __left534__ <-- d
906         int __left534__ = (int) d;
907         // __left534__ = d
908         // __offsetinbits535__ <-- 0 + 8 * d.s.blocksize + 0 * itb
909         int __leftop536__ = 0;
910         int __leftop540__ = 8;
911         // __left542__ <-- d.s
912         // __left543__ <-- d
913         int __left543__ = (int) d;
914         // __left543__ = d
915         int __left542__ = (__left543__ + 0);
916         // __left542__ = d.s
917         // __offsetinbits544__ <-- 32 + 32 + 32 + 32 + 32 + 0
918         int __leftop545__ = 32;
919         int __leftop547__ = 32;
920         int __leftop549__ = 32;
921         int __leftop551__ = 32;
922         int __leftop553__ = 32;
923         int __rightop554__ = 0;
924         int __rightop552__ = __leftop553__ + __rightop554__;
925         int __rightop550__ = __leftop551__ + __rightop552__;
926         int __rightop548__ = __leftop549__ + __rightop550__;
927         int __rightop546__ = __leftop547__ + __rightop548__;
928         int __offsetinbits544__ = __leftop545__ + __rightop546__;
929         // __offsetinbits544__ = 32 + 32 + 32 + 32 + 32 + 0
930         int __offset555__ = __offsetinbits544__ >> 3;
931         int __shift556__ = __offsetinbits544__ - (__offset555__ << 3);
932         int __rightop541__ = ((*(int *)(__left542__ + __offset555__))  >> __shift556__) & 0xffffffff;
933         int __leftop539__ = __leftop540__ * __rightop541__;
934         int __rightop557__ = 0;
935         int __leftop538__ = __leftop539__ + __rightop557__;
936         int __rightop558__ = (int) __itb__;
937         int __rightop537__ = __leftop538__ * __rightop558__;
938         int __offsetinbits535__ = __leftop536__ + __rightop537__;
939         // __offsetinbits535__ = 0 + 8 * d.s.blocksize + 0 * itb
940         int __offset559__ = __offsetinbits535__ >> 3;
941         int __expr533__ = (__left534__ + __offset559__);
942         int __left532__ = (int) __expr533__;
943         // __left532__ = cast(__InodeTable__, d.b[itb])
944         // __offsetinbits560__ <-- 0 + 32 + 32 * 12 + 32 + 0 * i
945         int __leftop561__ = 0;
946         int __leftop564__ = 32;
947         int __leftop567__ = 32;
948         int __rightop568__ = 12;
949         int __leftop566__ = __leftop567__ * __rightop568__;
950         int __leftop570__ = 32;
951         int __rightop571__ = 0;
952         int __rightop569__ = __leftop570__ + __rightop571__;
953         int __rightop565__ = __leftop566__ + __rightop569__;
954         int __leftop563__ = __leftop564__ + __rightop565__;
955         int __rightop572__ = (int) __i__;
956         int __rightop562__ = __leftop563__ * __rightop572__;
957         int __offsetinbits560__ = __leftop561__ + __rightop562__;
958         // __offsetinbits560__ = 0 + 32 + 32 * 12 + 32 + 0 * i
959         int __offset573__ = __offsetinbits560__ >> 3;
960         int __left531__ = (__left532__ + __offset573__);
961         // __left531__ = cast(__InodeTable__, d.b[itb]).itable[i]
962         // __offsetinbits574__ <-- 32 + 0 + 32 * j
963         int __leftop576__ = 32;
964         int __rightop577__ = 0;
965         int __leftop575__ = __leftop576__ + __rightop577__;
966         int __leftop579__ = 32;
967         int __rightop580__ = (int) __j__;
968         int __rightop578__ = __leftop579__ * __rightop580__;
969         int __offsetinbits574__ = __leftop575__ + __rightop578__;
970         // __offsetinbits574__ = 32 + 0 + 32 * j
971         int __offset581__ = __offsetinbits574__ >> 3;
972         int __shift582__ = __offsetinbits574__ - (__offset581__ << 3);
973         int __leftop530__ = ((*(int *)(__left531__ + __offset581__))  >> __shift582__) & 0xffffffff;
974         // __left584__ <-- d.s
975         // __left585__ <-- d
976         int __left585__ = (int) d;
977         // __left585__ = d
978         int __left584__ = (__left585__ + 0);
979         // __left584__ = d.s
980         // __offsetinbits586__ <-- 32 + 32 + 0
981         int __leftop587__ = 32;
982         int __leftop589__ = 32;
983         int __rightop590__ = 0;
984         int __rightop588__ = __leftop589__ + __rightop590__;
985         int __offsetinbits586__ = __leftop587__ + __rightop588__;
986         // __offsetinbits586__ = 32 + 32 + 0
987         int __offset591__ = __offsetinbits586__ >> 3;
988         int __shift592__ = __offsetinbits586__ - (__offset591__ << 3);
989         int __rightop583__ = ((*(int *)(__left584__ + __offset591__))  >> __shift592__) & 0xffffffff;
990         int __leftop529__ = __leftop530__ < __rightop583__;
991         // __left596__ <-- cast(__InodeTable__, d.b[itb]).itable[i]
992         // __left597__ <-- cast(__InodeTable__, d.b[itb])
993         // __left599__ <-- d
994         int __left599__ = (int) d;
995         // __left599__ = d
996         // __offsetinbits600__ <-- 0 + 8 * d.s.blocksize + 0 * itb
997         int __leftop601__ = 0;
998         int __leftop605__ = 8;
999         // __left607__ <-- d.s
1000         // __left608__ <-- d
1001         int __left608__ = (int) d;
1002         // __left608__ = d
1003         int __left607__ = (__left608__ + 0);
1004         // __left607__ = d.s
1005         // __offsetinbits609__ <-- 32 + 32 + 32 + 32 + 32 + 0
1006         int __leftop610__ = 32;
1007         int __leftop612__ = 32;
1008         int __leftop614__ = 32;
1009         int __leftop616__ = 32;
1010         int __leftop618__ = 32;
1011         int __rightop619__ = 0;
1012         int __rightop617__ = __leftop618__ + __rightop619__;
1013         int __rightop615__ = __leftop616__ + __rightop617__;
1014         int __rightop613__ = __leftop614__ + __rightop615__;
1015         int __rightop611__ = __leftop612__ + __rightop613__;
1016         int __offsetinbits609__ = __leftop610__ + __rightop611__;
1017         // __offsetinbits609__ = 32 + 32 + 32 + 32 + 32 + 0
1018         int __offset620__ = __offsetinbits609__ >> 3;
1019         int __shift621__ = __offsetinbits609__ - (__offset620__ << 3);
1020         int __rightop606__ = ((*(int *)(__left607__ + __offset620__))  >> __shift621__) & 0xffffffff;
1021         int __leftop604__ = __leftop605__ * __rightop606__;
1022         int __rightop622__ = 0;
1023         int __leftop603__ = __leftop604__ + __rightop622__;
1024         int __rightop623__ = (int) __itb__;
1025         int __rightop602__ = __leftop603__ * __rightop623__;
1026         int __offsetinbits600__ = __leftop601__ + __rightop602__;
1027         // __offsetinbits600__ = 0 + 8 * d.s.blocksize + 0 * itb
1028         int __offset624__ = __offsetinbits600__ >> 3;
1029         int __expr598__ = (__left599__ + __offset624__);
1030         int __left597__ = (int) __expr598__;
1031         // __left597__ = cast(__InodeTable__, d.b[itb])
1032         // __offsetinbits625__ <-- 0 + 32 + 32 * 12 + 32 + 0 * i
1033         int __leftop626__ = 0;
1034         int __leftop629__ = 32;
1035         int __leftop632__ = 32;
1036         int __rightop633__ = 12;
1037         int __leftop631__ = __leftop632__ * __rightop633__;
1038         int __leftop635__ = 32;
1039         int __rightop636__ = 0;
1040         int __rightop634__ = __leftop635__ + __rightop636__;
1041         int __rightop630__ = __leftop631__ + __rightop634__;
1042         int __leftop628__ = __leftop629__ + __rightop630__;
1043         int __rightop637__ = (int) __i__;
1044         int __rightop627__ = __leftop628__ * __rightop637__;
1045         int __offsetinbits625__ = __leftop626__ + __rightop627__;
1046         // __offsetinbits625__ = 0 + 32 + 32 * 12 + 32 + 0 * i
1047         int __offset638__ = __offsetinbits625__ >> 3;
1048         int __left596__ = (__left597__ + __offset638__);
1049         // __left596__ = cast(__InodeTable__, d.b[itb]).itable[i]
1050         // __offsetinbits639__ <-- 32 + 0 + 32 * j
1051         int __leftop641__ = 32;
1052         int __rightop642__ = 0;
1053         int __leftop640__ = __leftop641__ + __rightop642__;
1054         int __leftop644__ = 32;
1055         int __rightop645__ = (int) __j__;
1056         int __rightop643__ = __leftop644__ * __rightop645__;
1057         int __offsetinbits639__ = __leftop640__ + __rightop643__;
1058         // __offsetinbits639__ = 32 + 0 + 32 * j
1059         int __offset646__ = __offsetinbits639__ >> 3;
1060         int __shift647__ = __offsetinbits639__ - (__offset646__ << 3);
1061         int __leftop595__ = ((*(int *)(__left596__ + __offset646__))  >> __shift647__) & 0xffffffff;
1062         int __rightop648__ = 0;
1063         int __leftop594__ = __leftop595__ == __rightop648__;
1064         int __rightop593__ = !__leftop594__;
1065         int __tempvar528__ = __leftop529__ && __rightop593__;
1066         if (__tempvar528__) {
1067           // __left650__ <-- cast(__InodeTable__, d.b[itb]).itable[i]
1068           // __left651__ <-- cast(__InodeTable__, d.b[itb])
1069           // __left653__ <-- d
1070           int __left653__ = (int) d;
1071           // __left653__ = d
1072           // __offsetinbits654__ <-- 0 + 8 * d.s.blocksize + 0 * itb
1073           int __leftop655__ = 0;
1074           int __leftop659__ = 8;
1075           // __left661__ <-- d.s
1076           // __left662__ <-- d
1077           int __left662__ = (int) d;
1078           // __left662__ = d
1079           int __left661__ = (__left662__ + 0);
1080           // __left661__ = d.s
1081           // __offsetinbits663__ <-- 32 + 32 + 32 + 32 + 32 + 0
1082           int __leftop664__ = 32;
1083           int __leftop666__ = 32;
1084           int __leftop668__ = 32;
1085           int __leftop670__ = 32;
1086           int __leftop672__ = 32;
1087           int __rightop673__ = 0;
1088           int __rightop671__ = __leftop672__ + __rightop673__;
1089           int __rightop669__ = __leftop670__ + __rightop671__;
1090           int __rightop667__ = __leftop668__ + __rightop669__;
1091           int __rightop665__ = __leftop666__ + __rightop667__;
1092           int __offsetinbits663__ = __leftop664__ + __rightop665__;
1093           // __offsetinbits663__ = 32 + 32 + 32 + 32 + 32 + 0
1094           int __offset674__ = __offsetinbits663__ >> 3;
1095           int __shift675__ = __offsetinbits663__ - (__offset674__ << 3);
1096           int __rightop660__ = ((*(int *)(__left661__ + __offset674__))  >> __shift675__) & 0xffffffff;
1097           int __leftop658__ = __leftop659__ * __rightop660__;
1098           int __rightop676__ = 0;
1099           int __leftop657__ = __leftop658__ + __rightop676__;
1100           int __rightop677__ = (int) __itb__;
1101           int __rightop656__ = __leftop657__ * __rightop677__;
1102           int __offsetinbits654__ = __leftop655__ + __rightop656__;
1103           // __offsetinbits654__ = 0 + 8 * d.s.blocksize + 0 * itb
1104           int __offset678__ = __offsetinbits654__ >> 3;
1105           int __expr652__ = (__left653__ + __offset678__);
1106           int __left651__ = (int) __expr652__;
1107           // __left651__ = cast(__InodeTable__, d.b[itb])
1108           // __offsetinbits679__ <-- 0 + 32 + 32 * 12 + 32 + 0 * i
1109           int __leftop680__ = 0;
1110           int __leftop683__ = 32;
1111           int __leftop686__ = 32;
1112           int __rightop687__ = 12;
1113           int __leftop685__ = __leftop686__ * __rightop687__;
1114           int __leftop689__ = 32;
1115           int __rightop690__ = 0;
1116           int __rightop688__ = __leftop689__ + __rightop690__;
1117           int __rightop684__ = __leftop685__ + __rightop688__;
1118           int __leftop682__ = __leftop683__ + __rightop684__;
1119           int __rightop691__ = (int) __i__;
1120           int __rightop681__ = __leftop682__ * __rightop691__;
1121           int __offsetinbits679__ = __leftop680__ + __rightop681__;
1122           // __offsetinbits679__ = 0 + 32 + 32 * 12 + 32 + 0 * i
1123           int __offset692__ = __offsetinbits679__ >> 3;
1124           int __left650__ = (__left651__ + __offset692__);
1125           // __left650__ = cast(__InodeTable__, d.b[itb]).itable[i]
1126           // __offsetinbits693__ <-- 32 + 0 + 32 * j
1127           int __leftop695__ = 32;
1128           int __rightop696__ = 0;
1129           int __leftop694__ = __leftop695__ + __rightop696__;
1130           int __leftop698__ = 32;
1131           int __rightop699__ = (int) __j__;
1132           int __rightop697__ = __leftop698__ * __rightop699__;
1133           int __offsetinbits693__ = __leftop694__ + __rightop697__;
1134           // __offsetinbits693__ = 32 + 0 + 32 * j
1135           int __offset700__ = __offsetinbits693__ >> 3;
1136           int __shift701__ = __offsetinbits693__ - (__offset700__ << 3);
1137           int __element649__ = ((*(int *)(__left650__ + __offset700__))  >> __shift701__) & 0xffffffff;
1138           __FileBlock___hash->add((int)__element649__, (int)__element649__);
1139         }
1140       }
1141     }
1142   }
1143 }
1144
1145
1146 // build rule8
1147 {
1148   int __tempvar702__ = 0;
1149   // __left705__ <-- d.s
1150   // __left706__ <-- d
1151   int __left706__ = (int) d;
1152   // __left706__ = d
1153   int __left705__ = (__left706__ + 0);
1154   // __left705__ = d.s
1155   // __offsetinbits707__ <-- 32 + 32 + 0
1156   int __leftop708__ = 32;
1157   int __leftop710__ = 32;
1158   int __rightop711__ = 0;
1159   int __rightop709__ = __leftop710__ + __rightop711__;
1160   int __offsetinbits707__ = __leftop708__ + __rightop709__;
1161   // __offsetinbits707__ = 32 + 32 + 0
1162   int __offset712__ = __offsetinbits707__ >> 3;
1163   int __shift713__ = __offsetinbits707__ - (__offset712__ << 3);
1164   int __leftop704__ = ((*(int *)(__left705__ + __offset712__))  >> __shift713__) & 0xffffffff;
1165   int __rightop714__ = 1;
1166   int __tempvar703__ = __leftop704__ - __rightop714__;
1167   for (int __j__ = __tempvar702__; __j__ <= __tempvar703__; __j__++) {
1168     //!j in? __UsedBlock__
1169     int __element717__ = (int) __j__;
1170     int __leftop716__ = __UsedBlock___hash->contains(__element717__);
1171     int __tempvar715__ = !__leftop716__;
1172     if (__tempvar715__) {
1173       int __element718__ = (int) __j__;
1174       __FreeBlock___hash->add((int)__element718__, (int)__element718__);
1175     }
1176   }
1177 }
1178
1179
1180 // build rule10
1181 {
1182   for (SimpleIterator* __i___iterator = __UsedInode___hash->iterator(); __i___iterator->hasNext(); ) {
1183     int __i__ = (int) __i___iterator->next();
1184     for (SimpleIterator* __itb___iterator = __InodeTableBlock___hash->iterator(); __itb___iterator->hasNext(); ) {
1185       int __itb__ = (int) __itb___iterator->next();
1186       int __tempvar719__ = 0;
1187       int __tempvar720__ = 11;
1188       for (int __j__ = __tempvar719__; __j__ <= __tempvar720__; __j__++) {
1189         //!cast(__InodeTable__, d.b[itb]).itable[i].Blockptr[j] == 0
1190         // __left724__ <-- cast(__InodeTable__, d.b[itb]).itable[i]
1191         // __left725__ <-- cast(__InodeTable__, d.b[itb])
1192         // __left727__ <-- d
1193         int __left727__ = (int) d;
1194         // __left727__ = d
1195         // __offsetinbits728__ <-- 0 + 8 * d.s.blocksize + 0 * itb
1196         int __leftop729__ = 0;
1197         int __leftop733__ = 8;
1198         // __left735__ <-- d.s
1199         // __left736__ <-- d
1200         int __left736__ = (int) d;
1201         // __left736__ = d
1202         int __left735__ = (__left736__ + 0);
1203         // __left735__ = d.s
1204         // __offsetinbits737__ <-- 32 + 32 + 32 + 32 + 32 + 0
1205         int __leftop738__ = 32;
1206         int __leftop740__ = 32;
1207         int __leftop742__ = 32;
1208         int __leftop744__ = 32;
1209         int __leftop746__ = 32;
1210         int __rightop747__ = 0;
1211         int __rightop745__ = __leftop746__ + __rightop747__;
1212         int __rightop743__ = __leftop744__ + __rightop745__;
1213         int __rightop741__ = __leftop742__ + __rightop743__;
1214         int __rightop739__ = __leftop740__ + __rightop741__;
1215         int __offsetinbits737__ = __leftop738__ + __rightop739__;
1216         // __offsetinbits737__ = 32 + 32 + 32 + 32 + 32 + 0
1217         int __offset748__ = __offsetinbits737__ >> 3;
1218         int __shift749__ = __offsetinbits737__ - (__offset748__ << 3);
1219         int __rightop734__ = ((*(int *)(__left735__ + __offset748__))  >> __shift749__) & 0xffffffff;
1220         int __leftop732__ = __leftop733__ * __rightop734__;
1221         int __rightop750__ = 0;
1222         int __leftop731__ = __leftop732__ + __rightop750__;
1223         int __rightop751__ = (int) __itb__;
1224         int __rightop730__ = __leftop731__ * __rightop751__;
1225         int __offsetinbits728__ = __leftop729__ + __rightop730__;
1226         // __offsetinbits728__ = 0 + 8 * d.s.blocksize + 0 * itb
1227         int __offset752__ = __offsetinbits728__ >> 3;
1228         int __expr726__ = (__left727__ + __offset752__);
1229         int __left725__ = (int) __expr726__;
1230         // __left725__ = cast(__InodeTable__, d.b[itb])
1231         // __offsetinbits753__ <-- 0 + 32 + 32 * 12 + 32 + 0 * i
1232         int __leftop754__ = 0;
1233         int __leftop757__ = 32;
1234         int __leftop760__ = 32;
1235         int __rightop761__ = 12;
1236         int __leftop759__ = __leftop760__ * __rightop761__;
1237         int __leftop763__ = 32;
1238         int __rightop764__ = 0;
1239         int __rightop762__ = __leftop763__ + __rightop764__;
1240         int __rightop758__ = __leftop759__ + __rightop762__;
1241         int __leftop756__ = __leftop757__ + __rightop758__;
1242         int __rightop765__ = (int) __i__;
1243         int __rightop755__ = __leftop756__ * __rightop765__;
1244         int __offsetinbits753__ = __leftop754__ + __rightop755__;
1245         // __offsetinbits753__ = 0 + 32 + 32 * 12 + 32 + 0 * i
1246         int __offset766__ = __offsetinbits753__ >> 3;
1247         int __left724__ = (__left725__ + __offset766__);
1248         // __left724__ = cast(__InodeTable__, d.b[itb]).itable[i]
1249         // __offsetinbits767__ <-- 32 + 0 + 32 * j
1250         int __leftop769__ = 32;
1251         int __rightop770__ = 0;
1252         int __leftop768__ = __leftop769__ + __rightop770__;
1253         int __leftop772__ = 32;
1254         int __rightop773__ = (int) __j__;
1255         int __rightop771__ = __leftop772__ * __rightop773__;
1256         int __offsetinbits767__ = __leftop768__ + __rightop771__;
1257         // __offsetinbits767__ = 32 + 0 + 32 * j
1258         int __offset774__ = __offsetinbits767__ >> 3;
1259         int __shift775__ = __offsetinbits767__ - (__offset774__ << 3);
1260         int __leftop723__ = ((*(int *)(__left724__ + __offset774__))  >> __shift775__) & 0xffffffff;
1261         int __rightop776__ = 0;
1262         int __leftop722__ = __leftop723__ == __rightop776__;
1263         int __tempvar721__ = !__leftop722__;
1264         if (__tempvar721__) {
1265           int __leftele777__ = (int) __i__;
1266           // __left779__ <-- cast(__InodeTable__, d.b[itb]).itable[i]
1267           // __left780__ <-- cast(__InodeTable__, d.b[itb])
1268           // __left782__ <-- d
1269           int __left782__ = (int) d;
1270           // __left782__ = d
1271           // __offsetinbits783__ <-- 0 + 8 * d.s.blocksize + 0 * itb
1272           int __leftop784__ = 0;
1273           int __leftop788__ = 8;
1274           // __left790__ <-- d.s
1275           // __left791__ <-- d
1276           int __left791__ = (int) d;
1277           // __left791__ = d
1278           int __left790__ = (__left791__ + 0);
1279           // __left790__ = d.s
1280           // __offsetinbits792__ <-- 32 + 32 + 32 + 32 + 32 + 0
1281           int __leftop793__ = 32;
1282           int __leftop795__ = 32;
1283           int __leftop797__ = 32;
1284           int __leftop799__ = 32;
1285           int __leftop801__ = 32;
1286           int __rightop802__ = 0;
1287           int __rightop800__ = __leftop801__ + __rightop802__;
1288           int __rightop798__ = __leftop799__ + __rightop800__;
1289           int __rightop796__ = __leftop797__ + __rightop798__;
1290           int __rightop794__ = __leftop795__ + __rightop796__;
1291           int __offsetinbits792__ = __leftop793__ + __rightop794__;
1292           // __offsetinbits792__ = 32 + 32 + 32 + 32 + 32 + 0
1293           int __offset803__ = __offsetinbits792__ >> 3;
1294           int __shift804__ = __offsetinbits792__ - (__offset803__ << 3);
1295           int __rightop789__ = ((*(int *)(__left790__ + __offset803__))  >> __shift804__) & 0xffffffff;
1296           int __leftop787__ = __leftop788__ * __rightop789__;
1297           int __rightop805__ = 0;
1298           int __leftop786__ = __leftop787__ + __rightop805__;
1299           int __rightop806__ = (int) __itb__;
1300           int __rightop785__ = __leftop786__ * __rightop806__;
1301           int __offsetinbits783__ = __leftop784__ + __rightop785__;
1302           // __offsetinbits783__ = 0 + 8 * d.s.blocksize + 0 * itb
1303           int __offset807__ = __offsetinbits783__ >> 3;
1304           int __expr781__ = (__left782__ + __offset807__);
1305           int __left780__ = (int) __expr781__;
1306           // __left780__ = cast(__InodeTable__, d.b[itb])
1307           // __offsetinbits808__ <-- 0 + 32 + 32 * 12 + 32 + 0 * i
1308           int __leftop809__ = 0;
1309           int __leftop812__ = 32;
1310           int __leftop815__ = 32;
1311           int __rightop816__ = 12;
1312           int __leftop814__ = __leftop815__ * __rightop816__;
1313           int __leftop818__ = 32;
1314           int __rightop819__ = 0;
1315           int __rightop817__ = __leftop818__ + __rightop819__;
1316           int __rightop813__ = __leftop814__ + __rightop817__;
1317           int __leftop811__ = __leftop812__ + __rightop813__;
1318           int __rightop820__ = (int) __i__;
1319           int __rightop810__ = __leftop811__ * __rightop820__;
1320           int __offsetinbits808__ = __leftop809__ + __rightop810__;
1321           // __offsetinbits808__ = 0 + 32 + 32 * 12 + 32 + 0 * i
1322           int __offset821__ = __offsetinbits808__ >> 3;
1323           int __left779__ = (__left780__ + __offset821__);
1324           // __left779__ = cast(__InodeTable__, d.b[itb]).itable[i]
1325           // __offsetinbits822__ <-- 32 + 0 + 32 * j
1326           int __leftop824__ = 32;
1327           int __rightop825__ = 0;
1328           int __leftop823__ = __leftop824__ + __rightop825__;
1329           int __leftop827__ = 32;
1330           int __rightop828__ = (int) __j__;
1331           int __rightop826__ = __leftop827__ * __rightop828__;
1332           int __offsetinbits822__ = __leftop823__ + __rightop826__;
1333           // __offsetinbits822__ = 32 + 0 + 32 * j
1334           int __offset829__ = __offsetinbits822__ >> 3;
1335           int __shift830__ = __offsetinbits822__ - (__offset829__ << 3);
1336           int __rightele778__ = ((*(int *)(__left779__ + __offset829__))  >> __shift830__) & 0xffffffff;
1337           __contents___hash->add((int)__leftele777__, (int)__rightele778__);
1338           __contents___hashinv->add((int)__rightele778__, (int)__leftele777__);
1339         }
1340       }
1341     }
1342   }
1343 }
1344
1345
1346 // build rule7
1347 {
1348   int __tempvar831__ = 0;
1349   // __left834__ <-- d.s
1350   // __left835__ <-- d
1351   int __left835__ = (int) d;
1352   // __left835__ = d
1353   int __left834__ = (__left835__ + 0);
1354   // __left834__ = d.s
1355   // __offsetinbits836__ <-- 32 + 32 + 32 + 0
1356   int __leftop837__ = 32;
1357   int __leftop839__ = 32;
1358   int __leftop841__ = 32;
1359   int __rightop842__ = 0;
1360   int __rightop840__ = __leftop841__ + __rightop842__;
1361   int __rightop838__ = __leftop839__ + __rightop840__;
1362   int __offsetinbits836__ = __leftop837__ + __rightop838__;
1363   // __offsetinbits836__ = 32 + 32 + 32 + 0
1364   int __offset843__ = __offsetinbits836__ >> 3;
1365   int __shift844__ = __offsetinbits836__ - (__offset843__ << 3);
1366   int __leftop833__ = ((*(int *)(__left834__ + __offset843__))  >> __shift844__) & 0xffffffff;
1367   int __rightop845__ = 1;
1368   int __tempvar832__ = __leftop833__ - __rightop845__;
1369   for (int __j__ = __tempvar831__; __j__ <= __tempvar832__; __j__++) {
1370     //!j in? __UsedInode__
1371     int __element848__ = (int) __j__;
1372     int __leftop847__ = __UsedInode___hash->contains(__element848__);
1373     int __tempvar846__ = !__leftop847__;
1374     if (__tempvar846__) {
1375       int __element849__ = (int) __j__;
1376       __FreeInode___hash->add((int)__element849__, (int)__element849__);
1377     }
1378   }
1379 }
1380
1381
1382 // build rule16
1383 {
1384   for (SimpleIterator* __j___iterator = __UsedInode___hash->iterator(); __j___iterator->hasNext(); ) {
1385     int __j__ = (int) __j___iterator->next();
1386     for (SimpleIterator* __itb___iterator = __InodeTableBlock___hash->iterator(); __itb___iterator->hasNext(); ) {
1387       int __itb__ = (int) __itb___iterator->next();
1388       //true
1389       int __tempvar850__ = 1;
1390       if (__tempvar850__) {
1391         int __leftele851__ = (int) __j__;
1392         // __left853__ <-- cast(__InodeTable__, d.b[itb]).itable[j]
1393         // __left854__ <-- cast(__InodeTable__, d.b[itb])
1394         // __left856__ <-- d
1395         int __left856__ = (int) d;
1396         // __left856__ = d
1397         // __offsetinbits857__ <-- 0 + 8 * d.s.blocksize + 0 * itb
1398         int __leftop858__ = 0;
1399         int __leftop862__ = 8;
1400         // __left864__ <-- d.s
1401         // __left865__ <-- d
1402         int __left865__ = (int) d;
1403         // __left865__ = d
1404         int __left864__ = (__left865__ + 0);
1405         // __left864__ = d.s
1406         // __offsetinbits866__ <-- 32 + 32 + 32 + 32 + 32 + 0
1407         int __leftop867__ = 32;
1408         int __leftop869__ = 32;
1409         int __leftop871__ = 32;
1410         int __leftop873__ = 32;
1411         int __leftop875__ = 32;
1412         int __rightop876__ = 0;
1413         int __rightop874__ = __leftop875__ + __rightop876__;
1414         int __rightop872__ = __leftop873__ + __rightop874__;
1415         int __rightop870__ = __leftop871__ + __rightop872__;
1416         int __rightop868__ = __leftop869__ + __rightop870__;
1417         int __offsetinbits866__ = __leftop867__ + __rightop868__;
1418         // __offsetinbits866__ = 32 + 32 + 32 + 32 + 32 + 0
1419         int __offset877__ = __offsetinbits866__ >> 3;
1420         int __shift878__ = __offsetinbits866__ - (__offset877__ << 3);
1421         int __rightop863__ = ((*(int *)(__left864__ + __offset877__))  >> __shift878__) & 0xffffffff;
1422         int __leftop861__ = __leftop862__ * __rightop863__;
1423         int __rightop879__ = 0;
1424         int __leftop860__ = __leftop861__ + __rightop879__;
1425         int __rightop880__ = (int) __itb__;
1426         int __rightop859__ = __leftop860__ * __rightop880__;
1427         int __offsetinbits857__ = __leftop858__ + __rightop859__;
1428         // __offsetinbits857__ = 0 + 8 * d.s.blocksize + 0 * itb
1429         int __offset881__ = __offsetinbits857__ >> 3;
1430         int __expr855__ = (__left856__ + __offset881__);
1431         int __left854__ = (int) __expr855__;
1432         // __left854__ = cast(__InodeTable__, d.b[itb])
1433         // __offsetinbits882__ <-- 0 + 32 + 32 * 12 + 32 + 0 * j
1434         int __leftop883__ = 0;
1435         int __leftop886__ = 32;
1436         int __leftop889__ = 32;
1437         int __rightop890__ = 12;
1438         int __leftop888__ = __leftop889__ * __rightop890__;
1439         int __leftop892__ = 32;
1440         int __rightop893__ = 0;
1441         int __rightop891__ = __leftop892__ + __rightop893__;
1442         int __rightop887__ = __leftop888__ + __rightop891__;
1443         int __leftop885__ = __leftop886__ + __rightop887__;
1444         int __rightop894__ = (int) __j__;
1445         int __rightop884__ = __leftop885__ * __rightop894__;
1446         int __offsetinbits882__ = __leftop883__ + __rightop884__;
1447         // __offsetinbits882__ = 0 + 32 + 32 * 12 + 32 + 0 * j
1448         int __offset895__ = __offsetinbits882__ >> 3;
1449         int __left853__ = (__left854__ + __offset895__);
1450         // __left853__ = cast(__InodeTable__, d.b[itb]).itable[j]
1451         // __offsetinbits896__ <-- 32 * 12 + 32 + 0
1452         int __leftop898__ = 32;
1453         int __rightop899__ = 12;
1454         int __leftop897__ = __leftop898__ * __rightop899__;
1455         int __leftop901__ = 32;
1456         int __rightop902__ = 0;
1457         int __rightop900__ = __leftop901__ + __rightop902__;
1458         int __offsetinbits896__ = __leftop897__ + __rightop900__;
1459         // __offsetinbits896__ = 32 * 12 + 32 + 0
1460         int __offset903__ = __offsetinbits896__ >> 3;
1461         int __shift904__ = __offsetinbits896__ - (__offset903__ << 3);
1462         int __rightele852__ = ((*(int *)(__left853__ + __offset903__))  >> __shift904__) & 0xffffffff;
1463         __referencecount___hash->add((int)__leftele851__, (int)__rightele852__);
1464         __referencecount___hashinv->add((int)__rightele852__, (int)__leftele851__);
1465       }
1466     }
1467   }
1468 }
1469
1470
1471 // build rule13
1472 {
1473   int __tempvar905__ = 0;
1474   // __left908__ <-- d.s
1475   // __left909__ <-- d
1476   int __left909__ = (int) d;
1477   // __left909__ = d
1478   int __left908__ = (__left909__ + 0);
1479   // __left908__ = d.s
1480   // __offsetinbits910__ <-- 32 + 32 + 32 + 0
1481   int __leftop911__ = 32;
1482   int __leftop913__ = 32;
1483   int __leftop915__ = 32;
1484   int __rightop916__ = 0;
1485   int __rightop914__ = __leftop915__ + __rightop916__;
1486   int __rightop912__ = __leftop913__ + __rightop914__;
1487   int __offsetinbits910__ = __leftop911__ + __rightop912__;
1488   // __offsetinbits910__ = 32 + 32 + 32 + 0
1489   int __offset917__ = __offsetinbits910__ >> 3;
1490   int __shift918__ = __offsetinbits910__ - (__offset917__ << 3);
1491   int __leftop907__ = ((*(int *)(__left908__ + __offset917__))  >> __shift918__) & 0xffffffff;
1492   int __rightop919__ = 1;
1493   int __tempvar906__ = __leftop907__ - __rightop919__;
1494   for (int __j__ = __tempvar905__; __j__ <= __tempvar906__; __j__++) {
1495     for (SimpleIterator* __ibb___iterator = __InodeBitmapBlock___hash->iterator(); __ibb___iterator->hasNext(); ) {
1496       int __ibb__ = (int) __ibb___iterator->next();
1497       //cast(__InodeBitmap__, d.b[ibb]).inodebitmap[j] == true
1498       // __left922__ <-- cast(__InodeBitmap__, d.b[ibb])
1499       // __left924__ <-- d
1500       int __left924__ = (int) d;
1501       // __left924__ = d
1502       // __offsetinbits925__ <-- 0 + 8 * d.s.blocksize + 0 * ibb
1503       int __leftop926__ = 0;
1504       int __leftop930__ = 8;
1505       // __left932__ <-- d.s
1506       // __left933__ <-- d
1507       int __left933__ = (int) d;
1508       // __left933__ = d
1509       int __left932__ = (__left933__ + 0);
1510       // __left932__ = d.s
1511       // __offsetinbits934__ <-- 32 + 32 + 32 + 32 + 32 + 0
1512       int __leftop935__ = 32;
1513       int __leftop937__ = 32;
1514       int __leftop939__ = 32;
1515       int __leftop941__ = 32;
1516       int __leftop943__ = 32;
1517       int __rightop944__ = 0;
1518       int __rightop942__ = __leftop943__ + __rightop944__;
1519       int __rightop940__ = __leftop941__ + __rightop942__;
1520       int __rightop938__ = __leftop939__ + __rightop940__;
1521       int __rightop936__ = __leftop937__ + __rightop938__;
1522       int __offsetinbits934__ = __leftop935__ + __rightop936__;
1523       // __offsetinbits934__ = 32 + 32 + 32 + 32 + 32 + 0
1524       int __offset945__ = __offsetinbits934__ >> 3;
1525       int __shift946__ = __offsetinbits934__ - (__offset945__ << 3);
1526       int __rightop931__ = ((*(int *)(__left932__ + __offset945__))  >> __shift946__) & 0xffffffff;
1527       int __leftop929__ = __leftop930__ * __rightop931__;
1528       int __rightop947__ = 0;
1529       int __leftop928__ = __leftop929__ + __rightop947__;
1530       int __rightop948__ = (int) __ibb__;
1531       int __rightop927__ = __leftop928__ * __rightop948__;
1532       int __offsetinbits925__ = __leftop926__ + __rightop927__;
1533       // __offsetinbits925__ = 0 + 8 * d.s.blocksize + 0 * ibb
1534       int __offset949__ = __offsetinbits925__ >> 3;
1535       int __expr923__ = (__left924__ + __offset949__);
1536       int __left922__ = (int) __expr923__;
1537       // __left922__ = cast(__InodeBitmap__, d.b[ibb])
1538       // __offsetinbits950__ <-- 0 + 1 * j
1539       int __leftop951__ = 0;
1540       int __leftop953__ = 1;
1541       int __rightop954__ = (int) __j__;
1542       int __rightop952__ = __leftop953__ * __rightop954__;
1543       int __offsetinbits950__ = __leftop951__ + __rightop952__;
1544       // __offsetinbits950__ = 0 + 1 * j
1545       int __offset955__ = __offsetinbits950__ >> 3;
1546       int __shift956__ = __offsetinbits950__ - (__offset955__ << 3);
1547       int __leftop921__ = ((*(int *)(__left922__ + __offset955__))  >> __shift956__) & 0x1;
1548       int __rightop957__ = 1;
1549       int __tempvar920__ = __leftop921__ == __rightop957__;
1550       if (__tempvar920__) {
1551         int __leftele958__ = (int) __j__;
1552         int __rightele959__ = 100;
1553         __inodestatus___hash->add((int)__leftele958__, (int)__rightele959__);
1554         __inodestatus___hashinv->add((int)__rightele959__, (int)__leftele958__);
1555       }
1556     }
1557   }
1558 }
1559
1560
1561 // build rule12
1562 {
1563   int __tempvar960__ = 0;
1564   // __left963__ <-- d.s
1565   // __left964__ <-- d
1566   int __left964__ = (int) d;
1567   // __left964__ = d
1568   int __left963__ = (__left964__ + 0);
1569   // __left963__ = d.s
1570   // __offsetinbits965__ <-- 32 + 32 + 32 + 0
1571   int __leftop966__ = 32;
1572   int __leftop968__ = 32;
1573   int __leftop970__ = 32;
1574   int __rightop971__ = 0;
1575   int __rightop969__ = __leftop970__ + __rightop971__;
1576   int __rightop967__ = __leftop968__ + __rightop969__;
1577   int __offsetinbits965__ = __leftop966__ + __rightop967__;
1578   // __offsetinbits965__ = 32 + 32 + 32 + 0
1579   int __offset972__ = __offsetinbits965__ >> 3;
1580   int __shift973__ = __offsetinbits965__ - (__offset972__ << 3);
1581   int __leftop962__ = ((*(int *)(__left963__ + __offset972__))  >> __shift973__) & 0xffffffff;
1582   int __rightop974__ = 1;
1583   int __tempvar961__ = __leftop962__ - __rightop974__;
1584   for (int __j__ = __tempvar960__; __j__ <= __tempvar961__; __j__++) {
1585     for (SimpleIterator* __ibb___iterator = __InodeBitmapBlock___hash->iterator(); __ibb___iterator->hasNext(); ) {
1586       int __ibb__ = (int) __ibb___iterator->next();
1587       //cast(__InodeBitmap__, d.b[ibb]).inodebitmap[j] == false
1588       // __left977__ <-- cast(__InodeBitmap__, d.b[ibb])
1589       // __left979__ <-- d
1590       int __left979__ = (int) d;
1591       // __left979__ = d
1592       // __offsetinbits980__ <-- 0 + 8 * d.s.blocksize + 0 * ibb
1593       int __leftop981__ = 0;
1594       int __leftop985__ = 8;
1595       // __left987__ <-- d.s
1596       // __left988__ <-- d
1597       int __left988__ = (int) d;
1598       // __left988__ = d
1599       int __left987__ = (__left988__ + 0);
1600       // __left987__ = d.s
1601       // __offsetinbits989__ <-- 32 + 32 + 32 + 32 + 32 + 0
1602       int __leftop990__ = 32;
1603       int __leftop992__ = 32;
1604       int __leftop994__ = 32;
1605       int __leftop996__ = 32;
1606       int __leftop998__ = 32;
1607       int __rightop999__ = 0;
1608       int __rightop997__ = __leftop998__ + __rightop999__;
1609       int __rightop995__ = __leftop996__ + __rightop997__;
1610       int __rightop993__ = __leftop994__ + __rightop995__;
1611       int __rightop991__ = __leftop992__ + __rightop993__;
1612       int __offsetinbits989__ = __leftop990__ + __rightop991__;
1613       // __offsetinbits989__ = 32 + 32 + 32 + 32 + 32 + 0
1614       int __offset1000__ = __offsetinbits989__ >> 3;
1615       int __shift1001__ = __offsetinbits989__ - (__offset1000__ << 3);
1616       int __rightop986__ = ((*(int *)(__left987__ + __offset1000__))  >> __shift1001__) & 0xffffffff;
1617       int __leftop984__ = __leftop985__ * __rightop986__;
1618       int __rightop1002__ = 0;
1619       int __leftop983__ = __leftop984__ + __rightop1002__;
1620       int __rightop1003__ = (int) __ibb__;
1621       int __rightop982__ = __leftop983__ * __rightop1003__;
1622       int __offsetinbits980__ = __leftop981__ + __rightop982__;
1623       // __offsetinbits980__ = 0 + 8 * d.s.blocksize + 0 * ibb
1624       int __offset1004__ = __offsetinbits980__ >> 3;
1625       int __expr978__ = (__left979__ + __offset1004__);
1626       int __left977__ = (int) __expr978__;
1627       // __left977__ = cast(__InodeBitmap__, d.b[ibb])
1628       // __offsetinbits1005__ <-- 0 + 1 * j
1629       int __leftop1006__ = 0;
1630       int __leftop1008__ = 1;
1631       int __rightop1009__ = (int) __j__;
1632       int __rightop1007__ = __leftop1008__ * __rightop1009__;
1633       int __offsetinbits1005__ = __leftop1006__ + __rightop1007__;
1634       // __offsetinbits1005__ = 0 + 1 * j
1635       int __offset1010__ = __offsetinbits1005__ >> 3;
1636       int __shift1011__ = __offsetinbits1005__ - (__offset1010__ << 3);
1637       int __leftop976__ = ((*(int *)(__left977__ + __offset1010__))  >> __shift1011__) & 0x1;
1638       int __rightop1012__ = 0;
1639       int __tempvar975__ = __leftop976__ == __rightop1012__;
1640       if (__tempvar975__) {
1641         int __leftele1013__ = (int) __j__;
1642         int __rightele1014__ = 101;
1643         __inodestatus___hash->add((int)__leftele1013__, (int)__rightele1014__);
1644         __inodestatus___hashinv->add((int)__rightele1014__, (int)__leftele1013__);
1645       }
1646     }
1647   }
1648 }
1649
1650
1651 // build rule17
1652 {
1653   for (SimpleIterator* __j___iterator = __UsedInode___hash->iterator(); __j___iterator->hasNext(); ) {
1654     int __j__ = (int) __j___iterator->next();
1655     for (SimpleIterator* __itb___iterator = __InodeTableBlock___hash->iterator(); __itb___iterator->hasNext(); ) {
1656       int __itb__ = (int) __itb___iterator->next();
1657       //true
1658       int __tempvar1015__ = 1;
1659       if (__tempvar1015__) {
1660         int __leftele1016__ = (int) __j__;
1661         // __left1018__ <-- cast(__InodeTable__, d.b[itb]).itable[j]
1662         // __left1019__ <-- cast(__InodeTable__, d.b[itb])
1663         // __left1021__ <-- d
1664         int __left1021__ = (int) d;
1665         // __left1021__ = d
1666         // __offsetinbits1022__ <-- 0 + 8 * d.s.blocksize + 0 * itb
1667         int __leftop1023__ = 0;
1668         int __leftop1027__ = 8;
1669         // __left1029__ <-- d.s
1670         // __left1030__ <-- d
1671         int __left1030__ = (int) d;
1672         // __left1030__ = d
1673         int __left1029__ = (__left1030__ + 0);
1674         // __left1029__ = d.s
1675         // __offsetinbits1031__ <-- 32 + 32 + 32 + 32 + 32 + 0
1676         int __leftop1032__ = 32;
1677         int __leftop1034__ = 32;
1678         int __leftop1036__ = 32;
1679         int __leftop1038__ = 32;
1680         int __leftop1040__ = 32;
1681         int __rightop1041__ = 0;
1682         int __rightop1039__ = __leftop1040__ + __rightop1041__;
1683         int __rightop1037__ = __leftop1038__ + __rightop1039__;
1684         int __rightop1035__ = __leftop1036__ + __rightop1037__;
1685         int __rightop1033__ = __leftop1034__ + __rightop1035__;
1686         int __offsetinbits1031__ = __leftop1032__ + __rightop1033__;
1687         // __offsetinbits1031__ = 32 + 32 + 32 + 32 + 32 + 0
1688         int __offset1042__ = __offsetinbits1031__ >> 3;
1689         int __shift1043__ = __offsetinbits1031__ - (__offset1042__ << 3);
1690         int __rightop1028__ = ((*(int *)(__left1029__ + __offset1042__))  >> __shift1043__) & 0xffffffff;
1691         int __leftop1026__ = __leftop1027__ * __rightop1028__;
1692         int __rightop1044__ = 0;
1693         int __leftop1025__ = __leftop1026__ + __rightop1044__;
1694         int __rightop1045__ = (int) __itb__;
1695         int __rightop1024__ = __leftop1025__ * __rightop1045__;
1696         int __offsetinbits1022__ = __leftop1023__ + __rightop1024__;
1697         // __offsetinbits1022__ = 0 + 8 * d.s.blocksize + 0 * itb
1698         int __offset1046__ = __offsetinbits1022__ >> 3;
1699         int __expr1020__ = (__left1021__ + __offset1046__);
1700         int __left1019__ = (int) __expr1020__;
1701         // __left1019__ = cast(__InodeTable__, d.b[itb])
1702         // __offsetinbits1047__ <-- 0 + 32 + 32 * 12 + 32 + 0 * j
1703         int __leftop1048__ = 0;
1704         int __leftop1051__ = 32;
1705         int __leftop1054__ = 32;
1706         int __rightop1055__ = 12;
1707         int __leftop1053__ = __leftop1054__ * __rightop1055__;
1708         int __leftop1057__ = 32;
1709         int __rightop1058__ = 0;
1710         int __rightop1056__ = __leftop1057__ + __rightop1058__;
1711         int __rightop1052__ = __leftop1053__ + __rightop1056__;
1712         int __leftop1050__ = __leftop1051__ + __rightop1052__;
1713         int __rightop1059__ = (int) __j__;
1714         int __rightop1049__ = __leftop1050__ * __rightop1059__;
1715         int __offsetinbits1047__ = __leftop1048__ + __rightop1049__;
1716         // __offsetinbits1047__ = 0 + 32 + 32 * 12 + 32 + 0 * j
1717         int __offset1060__ = __offsetinbits1047__ >> 3;
1718         int __left1018__ = (__left1019__ + __offset1060__);
1719         // __left1018__ = cast(__InodeTable__, d.b[itb]).itable[j]
1720         int __rightele1017__ = ((*(int *)(__left1018__ + 0))  >> 0) & 0xffffffff;
1721         __filesize___hash->add((int)__leftele1016__, (int)__rightele1017__);
1722         __filesize___hashinv->add((int)__rightele1017__, (int)__leftele1016__);
1723       }
1724     }
1725   }
1726 }
1727
1728
1729 // build rule18
1730 {
1731   int __tempvar1061__ = 0;
1732   // __left1064__ <-- d.s
1733   // __left1065__ <-- d
1734   int __left1065__ = (int) d;
1735   // __left1065__ = d
1736   int __left1064__ = (__left1065__ + 0);
1737   // __left1064__ = d.s
1738   // __offsetinbits1066__ <-- 32 + 32 + 0
1739   int __leftop1067__ = 32;
1740   int __leftop1069__ = 32;
1741   int __rightop1070__ = 0;
1742   int __rightop1068__ = __leftop1069__ + __rightop1070__;
1743   int __offsetinbits1066__ = __leftop1067__ + __rightop1068__;
1744   // __offsetinbits1066__ = 32 + 32 + 0
1745   int __offset1071__ = __offsetinbits1066__ >> 3;
1746   int __shift1072__ = __offsetinbits1066__ - (__offset1071__ << 3);
1747   int __leftop1063__ = ((*(int *)(__left1064__ + __offset1071__))  >> __shift1072__) & 0xffffffff;
1748   int __rightop1073__ = 1;
1749   int __tempvar1062__ = __leftop1063__ - __rightop1073__;
1750   for (int __j__ = __tempvar1061__; __j__ <= __tempvar1062__; __j__++) {
1751     for (SimpleIterator* __bbb___iterator = __BlockBitmapBlock___hash->iterator(); __bbb___iterator->hasNext(); ) {
1752       int __bbb__ = (int) __bbb___iterator->next();
1753       //cast(__BlockBitmap__, d.b[bbb]).blockbitmap[j] == false
1754       // __left1076__ <-- cast(__BlockBitmap__, d.b[bbb])
1755       // __left1078__ <-- d
1756       int __left1078__ = (int) d;
1757       // __left1078__ = d
1758       // __offsetinbits1079__ <-- 0 + 8 * d.s.blocksize + 0 * bbb
1759       int __leftop1080__ = 0;
1760       int __leftop1084__ = 8;
1761       // __left1086__ <-- d.s
1762       // __left1087__ <-- d
1763       int __left1087__ = (int) d;
1764       // __left1087__ = d
1765       int __left1086__ = (__left1087__ + 0);
1766       // __left1086__ = d.s
1767       // __offsetinbits1088__ <-- 32 + 32 + 32 + 32 + 32 + 0
1768       int __leftop1089__ = 32;
1769       int __leftop1091__ = 32;
1770       int __leftop1093__ = 32;
1771       int __leftop1095__ = 32;
1772       int __leftop1097__ = 32;
1773       int __rightop1098__ = 0;
1774       int __rightop1096__ = __leftop1097__ + __rightop1098__;
1775       int __rightop1094__ = __leftop1095__ + __rightop1096__;
1776       int __rightop1092__ = __leftop1093__ + __rightop1094__;
1777       int __rightop1090__ = __leftop1091__ + __rightop1092__;
1778       int __offsetinbits1088__ = __leftop1089__ + __rightop1090__;
1779       // __offsetinbits1088__ = 32 + 32 + 32 + 32 + 32 + 0
1780       int __offset1099__ = __offsetinbits1088__ >> 3;
1781       int __shift1100__ = __offsetinbits1088__ - (__offset1099__ << 3);
1782       int __rightop1085__ = ((*(int *)(__left1086__ + __offset1099__))  >> __shift1100__) & 0xffffffff;
1783       int __leftop1083__ = __leftop1084__ * __rightop1085__;
1784       int __rightop1101__ = 0;
1785       int __leftop1082__ = __leftop1083__ + __rightop1101__;
1786       int __rightop1102__ = (int) __bbb__;
1787       int __rightop1081__ = __leftop1082__ * __rightop1102__;
1788       int __offsetinbits1079__ = __leftop1080__ + __rightop1081__;
1789       // __offsetinbits1079__ = 0 + 8 * d.s.blocksize + 0 * bbb
1790       int __offset1103__ = __offsetinbits1079__ >> 3;
1791       int __expr1077__ = (__left1078__ + __offset1103__);
1792       int __left1076__ = (int) __expr1077__;
1793       // __left1076__ = cast(__BlockBitmap__, d.b[bbb])
1794       // __offsetinbits1104__ <-- 0 + 1 * j
1795       int __leftop1105__ = 0;
1796       int __leftop1107__ = 1;
1797       int __rightop1108__ = (int) __j__;
1798       int __rightop1106__ = __leftop1107__ * __rightop1108__;
1799       int __offsetinbits1104__ = __leftop1105__ + __rightop1106__;
1800       // __offsetinbits1104__ = 0 + 1 * j
1801       int __offset1109__ = __offsetinbits1104__ >> 3;
1802       int __shift1110__ = __offsetinbits1104__ - (__offset1109__ << 3);
1803       int __leftop1075__ = ((*(int *)(__left1076__ + __offset1109__))  >> __shift1110__) & 0x1;
1804       int __rightop1111__ = 0;
1805       int __tempvar1074__ = __leftop1075__ == __rightop1111__;
1806       if (__tempvar1074__) {
1807         int __leftele1112__ = (int) __j__;
1808         int __rightele1113__ = 101;
1809         __blockstatus___hash->add((int)__leftele1112__, (int)__rightele1113__);
1810         __blockstatus___hashinv->add((int)__rightele1113__, (int)__leftele1112__);
1811       }
1812     }
1813   }
1814 }
1815
1816
1817 // build rule19
1818 {
1819   int __tempvar1114__ = 0;
1820   // __left1117__ <-- d.s
1821   // __left1118__ <-- d
1822   int __left1118__ = (int) d;
1823   // __left1118__ = d
1824   int __left1117__ = (__left1118__ + 0);
1825   // __left1117__ = d.s
1826   // __offsetinbits1119__ <-- 32 + 32 + 0
1827   int __leftop1120__ = 32;
1828   int __leftop1122__ = 32;
1829   int __rightop1123__ = 0;
1830   int __rightop1121__ = __leftop1122__ + __rightop1123__;
1831   int __offsetinbits1119__ = __leftop1120__ + __rightop1121__;
1832   // __offsetinbits1119__ = 32 + 32 + 0
1833   int __offset1124__ = __offsetinbits1119__ >> 3;
1834   int __shift1125__ = __offsetinbits1119__ - (__offset1124__ << 3);
1835   int __leftop1116__ = ((*(int *)(__left1117__ + __offset1124__))  >> __shift1125__) & 0xffffffff;
1836   int __rightop1126__ = 1;
1837   int __tempvar1115__ = __leftop1116__ - __rightop1126__;
1838   for (int __j__ = __tempvar1114__; __j__ <= __tempvar1115__; __j__++) {
1839     for (SimpleIterator* __bbb___iterator = __BlockBitmapBlock___hash->iterator(); __bbb___iterator->hasNext(); ) {
1840       int __bbb__ = (int) __bbb___iterator->next();
1841       //cast(__BlockBitmap__, d.b[bbb]).blockbitmap[j] == true
1842       // __left1129__ <-- cast(__BlockBitmap__, d.b[bbb])
1843       // __left1131__ <-- d
1844       int __left1131__ = (int) d;
1845       // __left1131__ = d
1846       // __offsetinbits1132__ <-- 0 + 8 * d.s.blocksize + 0 * bbb
1847       int __leftop1133__ = 0;
1848       int __leftop1137__ = 8;
1849       // __left1139__ <-- d.s
1850       // __left1140__ <-- d
1851       int __left1140__ = (int) d;
1852       // __left1140__ = d
1853       int __left1139__ = (__left1140__ + 0);
1854       // __left1139__ = d.s
1855       // __offsetinbits1141__ <-- 32 + 32 + 32 + 32 + 32 + 0
1856       int __leftop1142__ = 32;
1857       int __leftop1144__ = 32;
1858       int __leftop1146__ = 32;
1859       int __leftop1148__ = 32;
1860       int __leftop1150__ = 32;
1861       int __rightop1151__ = 0;
1862       int __rightop1149__ = __leftop1150__ + __rightop1151__;
1863       int __rightop1147__ = __leftop1148__ + __rightop1149__;
1864       int __rightop1145__ = __leftop1146__ + __rightop1147__;
1865       int __rightop1143__ = __leftop1144__ + __rightop1145__;
1866       int __offsetinbits1141__ = __leftop1142__ + __rightop1143__;
1867       // __offsetinbits1141__ = 32 + 32 + 32 + 32 + 32 + 0
1868       int __offset1152__ = __offsetinbits1141__ >> 3;
1869       int __shift1153__ = __offsetinbits1141__ - (__offset1152__ << 3);
1870       int __rightop1138__ = ((*(int *)(__left1139__ + __offset1152__))  >> __shift1153__) & 0xffffffff;
1871       int __leftop1136__ = __leftop1137__ * __rightop1138__;
1872       int __rightop1154__ = 0;
1873       int __leftop1135__ = __leftop1136__ + __rightop1154__;
1874       int __rightop1155__ = (int) __bbb__;
1875       int __rightop1134__ = __leftop1135__ * __rightop1155__;
1876       int __offsetinbits1132__ = __leftop1133__ + __rightop1134__;
1877       // __offsetinbits1132__ = 0 + 8 * d.s.blocksize + 0 * bbb
1878       int __offset1156__ = __offsetinbits1132__ >> 3;
1879       int __expr1130__ = (__left1131__ + __offset1156__);
1880       int __left1129__ = (int) __expr1130__;
1881       // __left1129__ = cast(__BlockBitmap__, d.b[bbb])
1882       // __offsetinbits1157__ <-- 0 + 1 * j
1883       int __leftop1158__ = 0;
1884       int __leftop1160__ = 1;
1885       int __rightop1161__ = (int) __j__;
1886       int __rightop1159__ = __leftop1160__ * __rightop1161__;
1887       int __offsetinbits1157__ = __leftop1158__ + __rightop1159__;
1888       // __offsetinbits1157__ = 0 + 1 * j
1889       int __offset1162__ = __offsetinbits1157__ >> 3;
1890       int __shift1163__ = __offsetinbits1157__ - (__offset1162__ << 3);
1891       int __leftop1128__ = ((*(int *)(__left1129__ + __offset1162__))  >> __shift1163__) & 0x1;
1892       int __rightop1164__ = 1;
1893       int __tempvar1127__ = __leftop1128__ == __rightop1164__;
1894       if (__tempvar1127__) {
1895         int __leftele1165__ = (int) __j__;
1896         int __rightele1166__ = 100;
1897         __blockstatus___hash->add((int)__leftele1165__, (int)__rightele1166__);
1898         __blockstatus___hashinv->add((int)__rightele1166__, (int)__leftele1165__);
1899       }
1900     }
1901   }
1902 }
1903
1904
1905
1906
1907 // checking c1
1908 {
1909   for (SimpleIterator* __u___iterator = __UsedInode___hash->iterator(); __u___iterator->hasNext(); ) {
1910     int __u__ = (int) __u___iterator->next();
1911     int __relval1168__ = __inodestatus___hash->get(__u__);
1912     int __exprval1169__ = 100;
1913     int __constraintboolean1167__ = __relval1168__==__exprval1169__;
1914     if (!__constraintboolean1167__) {
1915       __Success = 0;
1916       printf("fail. ");
1917     }
1918   }
1919 }
1920
1921
1922 // checking c2
1923 {
1924   for (SimpleIterator* __f___iterator = __FreeInode___hash->iterator(); __f___iterator->hasNext(); ) {
1925     int __f__ = (int) __f___iterator->next();
1926     int __relval1171__ = __inodestatus___hash->get(__f__);
1927     int __exprval1172__ = 101;
1928     int __constraintboolean1170__ = __relval1171__==__exprval1172__;
1929     if (!__constraintboolean1170__) {
1930       __Success = 0;
1931       printf("fail. ");
1932     }
1933   }
1934 }
1935
1936
1937 // checking c3
1938 {
1939   for (SimpleIterator* __u___iterator = __UsedBlock___hash->iterator(); __u___iterator->hasNext(); ) {
1940     int __u__ = (int) __u___iterator->next();
1941     int __relval1174__ = __blockstatus___hash->get(__u__);
1942     int __exprval1175__ = 100;
1943     int __constraintboolean1173__ = __relval1174__==__exprval1175__;
1944     if (!__constraintboolean1173__) {
1945       __Success = 0;
1946       printf("fail. ");
1947     }
1948   }
1949 }
1950
1951
1952 // checking c4
1953 {
1954   for (SimpleIterator* __f___iterator = __FreeBlock___hash->iterator(); __f___iterator->hasNext(); ) {
1955     int __f__ = (int) __f___iterator->next();
1956     int __relval1177__ = __blockstatus___hash->get(__f__);
1957     int __exprval1178__ = 101;
1958     int __constraintboolean1176__ = __relval1177__==__exprval1178__;
1959     if (!__constraintboolean1176__) {
1960       __Success = 0;
1961       printf("fail. ");
1962     }
1963   }
1964 }
1965
1966
1967 // checking c5
1968 {
1969   for (SimpleIterator* __i___iterator = __UsedInode___hash->iterator(); __i___iterator->hasNext(); ) {
1970     int __i__ = (int) __i___iterator->next();
1971     int __relval1180__ = __referencecount___hash->get(__i__);
1972     int __exprval1181__ = __inodeof___hashinv->count(__i__);
1973     int __constraintboolean1179__ = __relval1180__==__exprval1181__;
1974     if (!__constraintboolean1179__) {
1975       __Success = 0;
1976       printf("fail. ");
1977     }
1978   }
1979 }
1980
1981
1982 // checking c6
1983 {
1984   for (SimpleIterator* __i___iterator = __UsedInode___hash->iterator(); __i___iterator->hasNext(); ) {
1985     int __i__ = (int) __i___iterator->next();
1986     int __relval1183__ = __filesize___hash->get(__i__);
1987     int __leftop1185__ = __contents___hash->count(__i__);
1988     int __rightop1186__ = 8192;
1989     int __exprval1184__ = __leftop1185__ * __rightop1186__;
1990     int __constraintboolean1182__ = __relval1183__<=__exprval1184__;
1991     if (!__constraintboolean1182__) {
1992       __Success = 0;
1993       printf("fail. ");
1994     }
1995   }
1996 }
1997
1998
1999 // checking c7
2000 {
2001   for (SimpleIterator* __b___iterator = __FileDirectoryBlock___hash->iterator(); __b___iterator->hasNext(); ) {
2002     int __b__ = (int) __b___iterator->next();
2003     int __size1188__ = __contents___hashinv->count(__b__);
2004     int __constraintboolean1187__ = __size1188__==1;
2005     if (!__constraintboolean1187__) {
2006       __Success = 0;
2007       printf("fail. ");
2008     }
2009   }
2010 }
2011
2012
2013 // checking c8
2014 {
2015   int __size1190__ = __SuperBlock___hash->count();
2016   int __constraintboolean1189__ = __size1190__==1;
2017   if (!__constraintboolean1189__) {
2018     __Success = 0;
2019     printf("fail. ");
2020   }
2021 }
2022
2023
2024 // checking c9
2025 {
2026   int __size1192__ = __GroupBlock___hash->count();
2027   int __constraintboolean1191__ = __size1192__==1;
2028   if (!__constraintboolean1191__) {
2029     __Success = 0;
2030     printf("fail. ");
2031   }
2032 }
2033
2034
2035 // checking c10
2036 {
2037   int __size1194__ = __InodeTableBlock___hash->count();
2038   int __constraintboolean1193__ = __size1194__==1;
2039   if (!__constraintboolean1193__) {
2040     __Success = 0;
2041     printf("fail. ");
2042   }
2043 }
2044
2045
2046 // checking c11
2047 {
2048   int __size1196__ = __InodeBitmapBlock___hash->count();
2049   int __constraintboolean1195__ = __size1196__==1;
2050   if (!__constraintboolean1195__) {
2051     __Success = 0;
2052     printf("fail. ");
2053   }
2054 }
2055
2056
2057 // checking c12
2058 {
2059   int __size1198__ = __BlockBitmapBlock___hash->count();
2060   int __constraintboolean1197__ = __size1198__==1;
2061   if (!__constraintboolean1197__) {
2062     __Success = 0;
2063     printf("fail. ");
2064   }
2065 }
2066
2067
2068 // checking c13
2069 {
2070   int __size1200__ = __RootDirectoryInode___hash->count();
2071   int __constraintboolean1199__ = __size1200__==1;
2072   if (!__constraintboolean1199__) {
2073     __Success = 0;
2074     printf("fail. ");
2075   }
2076 }
2077
2078
2079 if (__Success) { printf("all tests passed"); }