001    /*
002     *  This file is part of the Jikes RVM project (http://jikesrvm.org).
003     *
004     *  This file is licensed to You under the Eclipse Public License (EPL);
005     *  You may not use this file except in compliance with the License. You
006     *  may obtain a copy of the License at
007     *
008     *      http://www.opensource.org/licenses/eclipse-1.0.php
009     *
010     *  See the COPYRIGHT.txt file distributed with this work for information
011     *  regarding copyright ownership.
012     */
013    package org.jikesrvm.compilers.opt.lir2mir.ia32;
014    
015    import org.jikesrvm.compilers.opt.ir.ia32.*;
016    import org.jikesrvm.classloader.*;
017    
018    import org.jikesrvm.*;
019    import org.jikesrvm.runtime.ArchEntrypoints;
020    import org.jikesrvm.compilers.opt.ir.*;
021    import org.jikesrvm.compilers.opt.ir.operand.*;
022    import org.jikesrvm.compilers.opt.ir.operand.ia32.*;
023    import org.jikesrvm.compilers.opt.lir2mir.BURS;
024    import org.jikesrvm.compilers.opt.OptimizingCompilerException;
025    import org.jikesrvm.compilers.opt.util.Bits; //NOPMD
026    import org.jikesrvm.ArchitectureSpecificOpt.BURS_TreeNode;
027    
028    import org.vmmagic.unboxed.*;
029    
030    /**
031     * Machine-specific instruction selection rules.  Program generated.
032     *
033     * Note: some of the functions have been taken and modified
034     * from the file gen.c, from the LCC compiler.
035     * See $RVM_ROOT/rvm/src-generated/opt-burs/jburg/COPYRIGHT file for copyright restrictions.
036     *
037     * @see BURS
038     *
039     * NOTE: Program generated file, do not edit!
040     */
041    @SuppressWarnings("unused") // Machine generated code is hard to get perfect
042    public class BURS_STATE extends BURS_Helpers
043       implements Operators, BURS_Definitions {
044    
045              static final byte NOFLAGS           = 0x00;
046              static final byte EMIT_INSTRUCTION  = 0x01;
047       public static final byte LEFT_CHILD_FIRST  = 0x02;
048       public static final byte RIGHT_CHILD_FIRST = 0x04;
049    
050       public BURS_STATE(BURS b) {
051          super(b);
052       }
053    
054    /*****************************************************************/
055    /*                                                               */
056    /*  BURS TEMPLATE                                                */
057    /*                                                               */
058    /*****************************************************************/
059    
060       /* accessors used by BURS */
061       private static BURS_TreeNode STATE(BURS_TreeNode a) { return a; }
062    
063       /***********************************************************************
064        *
065        *   This file contains BURG utilities
066        *
067        *   Note: some of the functions have been taken and modified
068        *    from the file gen.c, from the LCC compiler.
069        *
070        ************************************************************************/
071       void trace(BURS_TreeNode p, int rule, int cost, int bestcost) {
072         if (BURS.DEBUG) {
073           VM.sysWrite(p+" matched "+BURS_Debug.string[rule]+" with cost "+
074                       cost+"vs. "+bestcost);
075         }
076       }
077    
078       /**
079        * This function will dump the tree
080        */
081       public static void dumpTree(BURS_TreeNode p) {
082         if (BURS.DEBUG) {
083           VM.sysWrite(dumpTree("\n",p,1));
084         }
085       }
086    
087       public static String dumpTree(String out, BURS_TreeNode p, int indent) {
088         if (p == null) return out;
089         for (int i=0; i<indent; i++)
090           out = out + "   ";
091         out = out + p;
092         out = out + '\n';
093         if (p.child1 != null) {
094           indent++;
095           out = out + dumpTree("",p.child1,indent);
096           if (p.child2 != null) {
097             out = out + dumpTree("",p.child2,indent);
098           }
099         }
100         return out;
101       }
102    
103       /**
104        * This function will dump the cover of a tree, i.e. the rules
105        * that cover the tree with a minimal cost.
106        */
107       public static void dumpCover(BURS_TreeNode p, byte goalnt, int indent){
108          if (BURS.DEBUG) {
109            if (p == null) return;
110            int rule = STATE(p).rule(goalnt);
111            VM.sysWrite(STATE(p).getCost(goalnt)+"\t");
112            for (int i = 0; i < indent; i++)
113              VM.sysWrite(' ');
114            VM.sysWrite(BURS_Debug.string[rule]+"\n");
115            for (int i = 0; i < nts[rule].length; i++)
116              dumpCover(kids(p,rule,i), nts[rule][i], indent + 1);
117          }
118       }
119    
120       // caution: MARK should be used in single threaded mode,
121       public static void mark(BURS_TreeNode p, byte goalnt) {
122         if (p == null) return;
123         int rule = STATE(p).rule(goalnt);
124         byte act = action[rule];
125         if ((act & EMIT_INSTRUCTION) != 0) {
126           p.setNonTerminal(goalnt);
127         }
128         if (rule == 0) {
129           throw new OptimizingCompilerException("BURS","rule missing in ",
130                                                     p.getInstruction().toString(), dumpTree("",p,1));
131         }
132         mark_kids(p,rule);
133       }
134    /*
135     *  This file is part of the Jikes RVM project (http://jikesrvm.org).
136     *
137     *  This file is licensed to You under the Eclipse Public License (EPL);
138     *  You may not use this file except in compliance with the License. You
139     *  may obtain a copy of the License at
140     *
141     *      http://www.opensource.org/licenses/eclipse-1.0.php
142     *
143     *  See the COPYRIGHT.txt file distributed with this work for information
144     *  regarding copyright ownership.
145     */
146    //ir.brg
147    
148    /**
149     * Generate from ir.template and assembled rules files.
150     */
151     private static final byte[] nts_0 = { r_NT,  };
152     private static final byte[] nts_1 = {  };
153     private static final byte[] nts_2 = { czr_NT,  };
154     private static final byte[] nts_3 = { szpr_NT,  };
155     private static final byte[] nts_4 = { riv_NT,  };
156     private static final byte[] nts_5 = { any_NT, any_NT,  };
157     private static final byte[] nts_6 = { riv_NT, riv_NT,  };
158     private static final byte[] nts_7 = { sload8_NT,  };
159     private static final byte[] nts_8 = { uload8_NT,  };
160     private static final byte[] nts_9 = { sload16_NT,  };
161     private static final byte[] nts_10 = { uload16_NT,  };
162     private static final byte[] nts_11 = { load16_NT,  };
163     private static final byte[] nts_12 = { load32_NT,  };
164     private static final byte[] nts_13 = { load16_32_NT,  };
165     private static final byte[] nts_14 = { load8_NT,  };
166     private static final byte[] nts_15 = { address1reg_NT,  };
167     private static final byte[] nts_16 = { address1scaledreg_NT,  };
168     private static final byte[] nts_17 = { r_NT, r_NT,  };
169     private static final byte[] nts_18 = { r_NT, address1scaledreg_NT,  };
170     private static final byte[] nts_19 = { address1scaledreg_NT, r_NT,  };
171     private static final byte[] nts_20 = { address1scaledreg_NT, address1reg_NT,  };
172     private static final byte[] nts_21 = { address1reg_NT, address1scaledreg_NT,  };
173     private static final byte[] nts_22 = { address_NT,  };
174     private static final byte[] nts_23 = { load32_NT, riv_NT,  };
175     private static final byte[] nts_24 = { riv_NT, load32_NT,  };
176     private static final byte[] nts_25 = { riv_NT, riv_NT, riv_NT, riv_NT,  };
177     private static final byte[] nts_26 = { r_NT, riv_NT,  };
178     private static final byte[] nts_27 = { cz_NT,  };
179     private static final byte[] nts_28 = { szp_NT,  };
180     private static final byte[] nts_29 = { bittest_NT,  };
181     private static final byte[] nts_30 = { boolcmp_NT,  };
182     private static final byte[] nts_31 = { r_NT, load32_NT,  };
183     private static final byte[] nts_32 = { boolcmp_NT, riv_NT, riv_NT,  };
184     private static final byte[] nts_33 = { rlv_NT, rlv_NT,  };
185     private static final byte[] nts_34 = { r_NT, riv_NT, any_NT,  };
186     private static final byte[] nts_35 = { r_NT, any_NT,  };
187     private static final byte[] nts_36 = { load8_NT, any_NT,  };
188     private static final byte[] nts_37 = { uload8_NT, riv_NT, any_NT,  };
189     private static final byte[] nts_38 = { riv_NT, uload8_NT, any_NT,  };
190     private static final byte[] nts_39 = { sload16_NT, any_NT,  };
191     private static final byte[] nts_40 = { load32_NT, riv_NT, any_NT,  };
192     private static final byte[] nts_41 = { riv_NT, load32_NT, any_NT,  };
193     private static final byte[] nts_42 = { boolcmp_NT, any_NT,  };
194     private static final byte[] nts_43 = { bittest_NT, any_NT,  };
195     private static final byte[] nts_44 = { cz_NT, any_NT,  };
196     private static final byte[] nts_45 = { szp_NT, any_NT,  };
197     private static final byte[] nts_46 = { r_NT, rlv_NT, any_NT,  };
198     private static final byte[] nts_47 = { riv_NT, riv_NT, riv_NT, riv_NT, riv_NT,  };
199     private static final byte[] nts_48 = { riv_NT, r_NT,  };
200     private static final byte[] nts_49 = { load32_NT, r_NT,  };
201     private static final byte[] nts_50 = { riv_NT, riv_NT, r_NT, riv_NT, riv_NT,  };
202     private static final byte[] nts_51 = { r_NT, r_NT, r_NT, r_NT,  };
203     private static final byte[] nts_52 = { load8_16_32_NT, riv_NT,  };
204     private static final byte[] nts_53 = { riv_NT, load8_16_32_NT,  };
205     private static final byte[] nts_54 = { r_NT, rlv_NT,  };
206     private static final byte[] nts_55 = { rlv_NT, riv_NT,  };
207     private static final byte[] nts_56 = { load8_16_32_NT,  };
208     private static final byte[] nts_57 = { r_NT, riv_NT, riv_NT,  };
209     private static final byte[] nts_58 = { load64_NT,  };
210     private static final byte[] nts_59 = { riv_NT, address1scaledreg_NT,  };
211     private static final byte[] nts_60 = { address1scaledreg_NT, riv_NT,  };
212     private static final byte[] nts_61 = { r_NT, address1scaledreg_NT, riv_NT, riv_NT,  };
213     private static final byte[] nts_62 = { address1scaledreg_NT, r_NT, riv_NT, riv_NT,  };
214     private static final byte[] nts_63 = { address1scaledreg_NT, address1reg_NT, riv_NT, riv_NT,  };
215     private static final byte[] nts_64 = { address1reg_NT, address1scaledreg_NT, riv_NT, riv_NT,  };
216     private static final byte[] nts_65 = { address_NT, riv_NT, riv_NT,  };
217     private static final byte[] nts_66 = { riv_NT, riv_NT, rlv_NT, rlv_NT,  };
218     private static final byte[] nts_67 = { riv_NT, riv_NT, riv_NT,  };
219     private static final byte[] nts_68 = { load8_NT, riv_NT, riv_NT,  };
220     private static final byte[] nts_69 = { load16_NT, riv_NT, riv_NT,  };
221     private static final byte[] nts_70 = { riv_NT, riv_NT, address1scaledreg_NT,  };
222     private static final byte[] nts_71 = { riv_NT, address1scaledreg_NT, riv_NT,  };
223     private static final byte[] nts_72 = { riv_NT, address1scaledreg_NT, address1reg_NT,  };
224     private static final byte[] nts_73 = { riv_NT, address1reg_NT, address1scaledreg_NT,  };
225     private static final byte[] nts_74 = { riv_NT, address_NT,  };
226     private static final byte[] nts_75 = { uload8_NT, r_NT,  };
227     private static final byte[] nts_76 = { r_NT, uload8_NT,  };
228     private static final byte[] nts_77 = { any_NT,  };
229     private static final byte[] nts_78 = { riv_NT, riv_NT, any_NT,  };
230     private static final byte[] nts_79 = { r_NT, float_load_NT,  };
231     private static final byte[] nts_80 = { float_load_NT, r_NT,  };
232     private static final byte[] nts_81 = { r_NT, double_load_NT,  };
233     private static final byte[] nts_82 = { double_load_NT, r_NT,  };
234     private static final byte[] nts_83 = { float_load_NT,  };
235     private static final byte[] nts_84 = { double_load_NT,  };
236     private static final byte[] nts_85 = { rlv_NT,  };
237     private static final byte[] nts_86 = { r_NT, r_NT, any_NT,  };
238     private static final byte[] nts_87 = { r_NT, float_load_NT, any_NT,  };
239     private static final byte[] nts_88 = { r_NT, double_load_NT, any_NT,  };
240     private static final byte[] nts_89 = { float_load_NT, r_NT, any_NT,  };
241     private static final byte[] nts_90 = { double_load_NT, r_NT, any_NT,  };
242     private static final byte[] nts_91 = { r_NT, r_NT, r_NT, float_load_NT,  };
243     private static final byte[] nts_92 = { r_NT, r_NT, r_NT, double_load_NT,  };
244     private static final byte[] nts_93 = { r_NT, r_NT, float_load_NT, r_NT,  };
245     private static final byte[] nts_94 = { r_NT, r_NT, double_load_NT, r_NT,  };
246     private static final byte[] nts_95 = { r_NT, r_NT, r_NT,  };
247     private static final byte[] nts_96 = { load64_NT, riv_NT, riv_NT,  };
248    
249    private static final byte[][] nts = {
250            null,   /* 0 */
251            nts_0,  // 1 
252            nts_1,  // 2 
253            nts_2,  // 3 
254            nts_2,  // 4 
255            nts_3,  // 5 
256            nts_3,  // 6 
257            nts_0,  // 7 
258            nts_1,  // 8 
259            nts_0,  // 9 
260            nts_1,  // 10 
261            nts_1,  // 11 
262            nts_4,  // 12 
263            nts_1,  // 13 
264            nts_1,  // 14 
265            nts_5,  // 15 
266            nts_6,  // 16 
267            nts_6,  // 17 
268            nts_6,  // 18 
269            nts_6,  // 19 
270            nts_7,  // 20 
271            nts_8,  // 21 
272            nts_6,  // 22 
273            nts_6,  // 23 
274            nts_6,  // 24 
275            nts_6,  // 25 
276            nts_9,  // 26 
277            nts_10, // 27 
278            nts_6,  // 28 
279            nts_6,  // 29 
280            nts_11, // 30 
281            nts_12, // 31 
282            nts_13, // 32 
283            nts_14, // 33 
284            nts_6,  // 34 
285            nts_6,  // 35 
286            nts_15, // 36 
287            nts_16, // 37 
288            nts_0,  // 38 
289            nts_0,  // 39 
290            nts_0,  // 40 
291            nts_17, // 41 
292            nts_15, // 42 
293            nts_16, // 43 
294            nts_18, // 44 
295            nts_19, // 45 
296            nts_16, // 46 
297            nts_20, // 47 
298            nts_21, // 48 
299            nts_19, // 49 
300            nts_18, // 50 
301            nts_20, // 51 
302            nts_21, // 52 
303            nts_22, // 53 
304            nts_22, // 54 
305            nts_1,  // 55 
306            nts_1,  // 56 
307            nts_1,  // 57 
308            nts_1,  // 58 
309            nts_1,  // 59 
310            nts_1,  // 60 
311            nts_0,  // 61 
312            nts_1,  // 62 
313            nts_1,  // 63 
314            nts_1,  // 64 
315            nts_1,  // 65 
316            nts_4,  // 66 
317            nts_1,  // 67 
318            nts_1,  // 68 
319            nts_0,  // 69 
320            nts_1,  // 70 
321            nts_0,  // 71 
322            nts_0,  // 72 
323            nts_17, // 73 
324            nts_23, // 74 
325            nts_24, // 75 
326            nts_0,  // 76 
327            nts_25, // 77 
328            nts_25, // 78 
329            nts_26, // 79 
330            nts_26, // 80 
331            nts_0,  // 81 
332            nts_0,  // 82 
333            nts_0,  // 83 
334            nts_12, // 84 
335            nts_0,  // 85 
336            nts_12, // 86 
337            nts_27, // 87 
338            nts_27, // 88 
339            nts_28, // 89 
340            nts_28, // 90 
341            nts_29, // 91 
342            nts_29, // 92 
343            nts_30, // 93 
344            nts_30, // 94 
345            nts_30, // 95 
346            nts_30, // 96 
347            nts_23, // 97 
348            nts_23, // 98 
349            nts_31, // 99 
350            nts_24, // 100 
351            nts_32, // 101 
352            nts_32, // 102 
353            nts_33, // 103 
354            nts_33, // 104 
355            nts_34, // 105 
356            nts_35, // 106 
357            nts_0,  // 107 
358            nts_12, // 108 
359            nts_0,  // 109 
360            nts_12, // 110 
361            nts_36, // 111 
362            nts_37, // 112 
363            nts_38, // 113 
364            nts_39, // 114 
365            nts_40, // 115 
366            nts_41, // 116 
367            nts_42, // 117 
368            nts_42, // 118 
369            nts_43, // 119 
370            nts_44, // 120 
371            nts_45, // 121 
372            nts_46, // 122 
373            nts_26, // 123 
374            nts_26, // 124 
375            nts_24, // 125 
376            nts_23, // 126 
377            nts_47, // 127 
378            nts_47, // 128 
379            nts_47, // 129 
380            nts_47, // 130 
381            nts_48, // 131 
382            nts_48, // 132 
383            nts_49, // 133 
384            nts_24, // 134 
385            nts_23, // 135 
386            nts_47, // 136 
387            nts_47, // 137 
388            nts_47, // 138 
389            nts_47, // 139 
390            nts_6,  // 140 
391            nts_24, // 141 
392            nts_23, // 142 
393            nts_6,  // 143 
394            nts_24, // 144 
395            nts_6,  // 145 
396            nts_24, // 146 
397            nts_0,  // 147 
398            nts_25, // 148 
399            nts_25, // 149 
400            nts_48, // 150 
401            nts_6,  // 151 
402            nts_0,  // 152 
403            nts_0,  // 153 
404            nts_0,  // 154 
405            nts_50, // 155 
406            nts_25, // 156 
407            nts_50, // 157 
408            nts_25, // 158 
409            nts_48, // 159 
410            nts_6,  // 160 
411            nts_4,  // 161 
412            nts_50, // 162 
413            nts_25, // 163 
414            nts_50, // 164 
415            nts_25, // 165 
416            nts_48, // 166 
417            nts_6,  // 167 
418            nts_4,  // 168 
419            nts_50, // 169 
420            nts_25, // 170 
421            nts_50, // 171 
422            nts_25, // 172 
423            nts_17, // 173 
424            nts_17, // 174 
425            nts_17, // 175 
426            nts_17, // 176 
427            nts_51, // 177 
428            nts_51, // 178 
429            nts_51, // 179 
430            nts_51, // 180 
431            nts_6,  // 181 
432            nts_26, // 182 
433            nts_24, // 183 
434            nts_23, // 184 
435            nts_52, // 185 
436            nts_53, // 186 
437            nts_47, // 187 
438            nts_47, // 188 
439            nts_47, // 189 
440            nts_47, // 190 
441            nts_6,  // 191 
442            nts_24, // 192 
443            nts_23, // 193 
444            nts_47, // 194 
445            nts_47, // 195 
446            nts_47, // 196 
447            nts_47, // 197 
448            nts_6,  // 198 
449            nts_24, // 199 
450            nts_23, // 200 
451            nts_47, // 201 
452            nts_47, // 202 
453            nts_47, // 203 
454            nts_47, // 204 
455            nts_0,  // 205 
456            nts_25, // 206 
457            nts_25, // 207 
458            nts_54, // 208 
459            nts_33, // 209 
460            nts_33, // 210 
461            nts_0,  // 211 
462            nts_55, // 212 
463            nts_55, // 213 
464            nts_55, // 214 
465            nts_55, // 215 
466            nts_55, // 216 
467            nts_55, // 217 
468            nts_33, // 218 
469            nts_33, // 219 
470            nts_54, // 220 
471            nts_0,  // 221 
472            nts_0,  // 222 
473            nts_56, // 223 
474            nts_57, // 224 
475            nts_57, // 225 
476            nts_0,  // 226 
477            nts_13, // 227 
478            nts_57, // 228 
479            nts_57, // 229 
480            nts_0,  // 230 
481            nts_13, // 231 
482            nts_57, // 232 
483            nts_57, // 233 
484            nts_0,  // 234 
485            nts_12, // 235 
486            nts_0,  // 236 
487            nts_12, // 237 
488            nts_0,  // 238 
489            nts_58, // 239 
490            nts_0,  // 240 
491            nts_12, // 241 
492            nts_0,  // 242 
493            nts_57, // 243 
494            nts_57, // 244 
495            nts_58, // 245 
496            nts_0,  // 246 
497            nts_0,  // 247 
498            nts_58, // 248 
499            nts_58, // 249 
500            nts_58, // 250 
501            nts_58, // 251 
502            nts_4,  // 252 
503            nts_2,  // 253 
504            nts_27, // 254 
505            nts_3,  // 255 
506            nts_28, // 256 
507            nts_15, // 257 
508            nts_16, // 258 
509            nts_22, // 259 
510            nts_7,  // 260 
511            nts_8,  // 261 
512            nts_14, // 262 
513            nts_9,  // 263 
514            nts_10, // 264 
515            nts_11, // 265 
516            nts_12, // 266 
517            nts_58, // 267 
518            nts_0,  // 268 
519            nts_1,  // 269 
520            nts_1,  // 270 
521            nts_6,  // 271 
522            nts_6,  // 272 
523            nts_6,  // 273 
524            nts_6,  // 274 
525            nts_56, // 275 
526            nts_56, // 276 
527            nts_56, // 277 
528            nts_56, // 278 
529            nts_6,  // 279 
530            nts_6,  // 280 
531            nts_6,  // 281 
532            nts_6,  // 282 
533            nts_13, // 283 
534            nts_13, // 284 
535            nts_13, // 285 
536            nts_13, // 286 
537            nts_6,  // 287 
538            nts_59, // 288 
539            nts_60, // 289 
540            nts_20, // 290 
541            nts_21, // 291 
542            nts_22, // 292 
543            nts_6,  // 293 
544            nts_6,  // 294 
545            nts_6,  // 295 
546            nts_6,  // 296 
547            nts_18, // 297 
548            nts_19, // 298 
549            nts_20, // 299 
550            nts_21, // 300 
551            nts_22, // 301 
552            nts_22, // 302 
553            nts_6,  // 303 
554            nts_25, // 304 
555            nts_61, // 305 
556            nts_62, // 306 
557            nts_63, // 307 
558            nts_64, // 308 
559            nts_65, // 309 
560            nts_65, // 310 
561            nts_25, // 311 
562            nts_61, // 312 
563            nts_62, // 313 
564            nts_63, // 314 
565            nts_64, // 315 
566            nts_65, // 316 
567            nts_65, // 317 
568            nts_25, // 318 
569            nts_61, // 319 
570            nts_62, // 320 
571            nts_63, // 321 
572            nts_64, // 322 
573            nts_65, // 323 
574            nts_65, // 324 
575            nts_66, // 325 
576            nts_67, // 326 
577            nts_68, // 327 
578            nts_67, // 328 
579            nts_68, // 329 
580            nts_67, // 330 
581            nts_69, // 331 
582            nts_67, // 332 
583            nts_69, // 333 
584            nts_67, // 334 
585            nts_70, // 335 
586            nts_71, // 336 
587            nts_72, // 337 
588            nts_73, // 338 
589            nts_74, // 339 
590            nts_67, // 340 
591            nts_57, // 341 
592            nts_6,  // 342 
593            nts_57, // 343 
594            nts_6,  // 344 
595            nts_26, // 345 
596            nts_0,  // 346 
597            nts_14, // 347 
598            nts_75, // 348 
599            nts_76, // 349 
600            nts_9,  // 350 
601            nts_23, // 351 
602            nts_31, // 352 
603            nts_30, // 353 
604            nts_30, // 354 
605            nts_27, // 355 
606            nts_28, // 356 
607            nts_29, // 357 
608            nts_26, // 358 
609            nts_23, // 359 
610            nts_24, // 360 
611            nts_33, // 361 
612            nts_33, // 362 
613            nts_1,  // 363 
614            nts_0,  // 364 
615            nts_1,  // 365 
616            nts_1,  // 366 
617            nts_1,  // 367 
618            nts_1,  // 368 
619            nts_1,  // 369 
620            nts_0,  // 370 
621            nts_1,  // 371 
622            nts_35, // 372 
623            nts_77, // 373 
624            nts_78, // 374 
625            nts_77, // 375 
626            nts_35, // 376 
627            nts_78, // 377 
628            nts_77, // 378 
629            nts_1,  // 379 
630            nts_5,  // 380 
631            nts_17, // 381 
632            nts_49, // 382 
633            nts_0,  // 383 
634            nts_17, // 384 
635            nts_49, // 385 
636            nts_0,  // 386 
637            nts_48, // 387 
638            nts_31, // 388 
639            nts_17, // 389 
640            nts_49, // 390 
641            nts_17, // 391 
642            nts_79, // 392 
643            nts_80, // 393 
644            nts_17, // 394 
645            nts_81, // 395 
646            nts_82, // 396 
647            nts_17, // 397 
648            nts_79, // 398 
649            nts_17, // 399 
650            nts_81, // 400 
651            nts_17, // 401 
652            nts_79, // 402 
653            nts_80, // 403 
654            nts_17, // 404 
655            nts_81, // 405 
656            nts_82, // 406 
657            nts_17, // 407 
658            nts_79, // 408 
659            nts_17, // 409 
660            nts_81, // 410 
661            nts_0,  // 411 
662            nts_0,  // 412 
663            nts_0,  // 413 
664            nts_0,  // 414 
665            nts_17, // 415 
666            nts_17, // 416 
667            nts_0,  // 417 
668            nts_0,  // 418 
669            nts_0,  // 419 
670            nts_0,  // 420 
671            nts_6,  // 421 
672            nts_6,  // 422 
673            nts_6,  // 423 
674            nts_6,  // 424 
675            nts_6,  // 425 
676            nts_6,  // 426 
677            nts_6,  // 427 
678            nts_6,  // 428 
679            nts_57, // 429 
680            nts_57, // 430 
681            nts_57, // 431 
682            nts_57, // 432 
683            nts_4,  // 433 
684            nts_12, // 434 
685            nts_4,  // 435 
686            nts_12, // 436 
687            nts_0,  // 437 
688            nts_83, // 438 
689            nts_0,  // 439 
690            nts_84, // 440 
691            nts_0,  // 441 
692            nts_0,  // 442 
693            nts_0,  // 443 
694            nts_0,  // 444 
695            nts_0,  // 445 
696            nts_83, // 446 
697            nts_0,  // 447 
698            nts_84, // 448 
699            nts_4,  // 449 
700            nts_12, // 450 
701            nts_85, // 451 
702            nts_58, // 452 
703            nts_1,  // 453 
704            nts_1,  // 454 
705            nts_1,  // 455 
706            nts_1,  // 456 
707            nts_17, // 457 
708            nts_79, // 458 
709            nts_80, // 459 
710            nts_17, // 460 
711            nts_81, // 461 
712            nts_82, // 462 
713            nts_86, // 463 
714            nts_87, // 464 
715            nts_88, // 465 
716            nts_89, // 466 
717            nts_90, // 467 
718            nts_86, // 468 
719            nts_91, // 469 
720            nts_92, // 470 
721            nts_93, // 471 
722            nts_94, // 472 
723            nts_87, // 473 
724            nts_88, // 474 
725            nts_95, // 475 
726            nts_95, // 476 
727            nts_95, // 477 
728            nts_95, // 478 
729            nts_95, // 479 
730            nts_95, // 480 
731            nts_95, // 481 
732            nts_95, // 482 
733            nts_96, // 483 
734            nts_96, // 484 
735    };
736    
737    /*static final byte arity[] = {
738            0,      // 0=GET_CAUGHT_EXCEPTION
739            1,      // 1=SET_CAUGHT_EXCEPTION
740            -1,     // 2=NEW
741            -1,     // 3=NEW_UNRESOLVED
742            -1,     // 4=NEWARRAY
743            -1,     // 5=NEWARRAY_UNRESOLVED
744            -1,     // 6=ATHROW
745            -1,     // 7=CHECKCAST
746            -1,     // 8=CHECKCAST_NOTNULL
747            -1,     // 9=CHECKCAST_UNRESOLVED
748            -1,     // 10=MUST_IMPLEMENT_INTERFACE
749            -1,     // 11=INSTANCEOF
750            -1,     // 12=INSTANCEOF_NOTNULL
751            -1,     // 13=INSTANCEOF_UNRESOLVED
752            -1,     // 14=MONITORENTER
753            -1,     // 15=MONITOREXIT
754            -1,     // 16=NEWOBJMULTIARRAY
755            -1,     // 17=GETSTATIC
756            -1,     // 18=PUTSTATIC
757            -1,     // 19=GETFIELD
758            -1,     // 20=PUTFIELD
759            -1,     // 21=INT_ZERO_CHECK
760            -1,     // 22=LONG_ZERO_CHECK
761            -1,     // 23=BOUNDS_CHECK
762            -1,     // 24=OBJARRAY_STORE_CHECK
763            -1,     // 25=OBJARRAY_STORE_CHECK_NOTNULL
764            0,      // 26=IG_PATCH_POINT
765            -1,     // 27=IG_CLASS_TEST
766            -1,     // 28=IG_METHOD_TEST
767            -1,     // 29=TABLESWITCH
768            -1,     // 30=LOOKUPSWITCH
769            2,      // 31=INT_ALOAD
770            2,      // 32=LONG_ALOAD
771            2,      // 33=FLOAT_ALOAD
772            2,      // 34=DOUBLE_ALOAD
773            -1,     // 35=REF_ALOAD
774            2,      // 36=UBYTE_ALOAD
775            2,      // 37=BYTE_ALOAD
776            2,      // 38=USHORT_ALOAD
777            2,      // 39=SHORT_ALOAD
778            2,      // 40=INT_ASTORE
779            2,      // 41=LONG_ASTORE
780            2,      // 42=FLOAT_ASTORE
781            2,      // 43=DOUBLE_ASTORE
782            -1,     // 44=REF_ASTORE
783            2,      // 45=BYTE_ASTORE
784            2,      // 46=SHORT_ASTORE
785            2,      // 47=INT_IFCMP
786            2,      // 48=INT_IFCMP2
787            2,      // 49=LONG_IFCMP
788            2,      // 50=FLOAT_IFCMP
789            2,      // 51=DOUBLE_IFCMP
790            -1,     // 52=REF_IFCMP
791            -1,     // 53=LABEL
792            -1,     // 54=BBEND
793            0,      // 55=UNINT_BEGIN
794            0,      // 56=UNINT_END
795            0,      // 57=READ_CEILING
796            0,      // 58=WRITE_FLOOR
797            -1,     // 59=PHI
798            -1,     // 60=SPLIT
799            -1,     // 61=PI
800            0,      // 62=NOP
801            1,      // 63=INT_MOVE
802            1,      // 64=LONG_MOVE
803            1,      // 65=FLOAT_MOVE
804            1,      // 66=DOUBLE_MOVE
805            -1,     // 67=REF_MOVE
806            0,      // 68=GUARD_MOVE
807            -1,     // 69=INT_COND_MOVE
808            -1,     // 70=LONG_COND_MOVE
809            -1,     // 71=FLOAT_COND_MOVE
810            -1,     // 72=DOUBLE_COND_MOVE
811            -1,     // 73=REF_COND_MOVE
812            -1,     // 74=GUARD_COND_MOVE
813            0,      // 75=GUARD_COMBINE
814            -1,     // 76=REF_ADD
815            2,      // 77=INT_ADD
816            2,      // 78=LONG_ADD
817            2,      // 79=FLOAT_ADD
818            2,      // 80=DOUBLE_ADD
819            -1,     // 81=REF_SUB
820            2,      // 82=INT_SUB
821            2,      // 83=LONG_SUB
822            2,      // 84=FLOAT_SUB
823            2,      // 85=DOUBLE_SUB
824            2,      // 86=INT_MUL
825            2,      // 87=LONG_MUL
826            2,      // 88=FLOAT_MUL
827            2,      // 89=DOUBLE_MUL
828            2,      // 90=INT_DIV
829            -1,     // 91=LONG_DIV
830            2,      // 92=FLOAT_DIV
831            2,      // 93=DOUBLE_DIV
832            2,      // 94=INT_REM
833            -1,     // 95=LONG_REM
834            2,      // 96=FLOAT_REM
835            2,      // 97=DOUBLE_REM
836            -1,     // 98=REF_NEG
837            1,      // 99=INT_NEG
838            1,      // 100=LONG_NEG
839            1,      // 101=FLOAT_NEG
840            1,      // 102=DOUBLE_NEG
841            1,      // 103=FLOAT_SQRT
842            1,      // 104=DOUBLE_SQRT
843            -1,     // 105=REF_SHL
844            2,      // 106=INT_SHL
845            2,      // 107=LONG_SHL
846            -1,     // 108=REF_SHR
847            2,      // 109=INT_SHR
848            2,      // 110=LONG_SHR
849            -1,     // 111=REF_USHR
850            2,      // 112=INT_USHR
851            2,      // 113=LONG_USHR
852            -1,     // 114=REF_AND
853            2,      // 115=INT_AND
854            2,      // 116=LONG_AND
855            -1,     // 117=REF_OR
856            2,      // 118=INT_OR
857            2,      // 119=LONG_OR
858            -1,     // 120=REF_XOR
859            2,      // 121=INT_XOR
860            -1,     // 122=REF_NOT
861            1,      // 123=INT_NOT
862            1,      // 124=LONG_NOT
863            2,      // 125=LONG_XOR
864            -1,     // 126=INT_2ADDRSigExt
865            -1,     // 127=INT_2ADDRZerExt
866            -1,     // 128=LONG_2ADDR
867            -1,     // 129=ADDR_2INT
868            1,      // 130=ADDR_2LONG
869            1,      // 131=INT_2LONG
870            1,      // 132=INT_2FLOAT
871            1,      // 133=INT_2DOUBLE
872            1,      // 134=LONG_2INT
873            1,      // 135=LONG_2FLOAT
874            1,      // 136=LONG_2DOUBLE
875            1,      // 137=FLOAT_2INT
876            1,      // 138=FLOAT_2LONG
877            1,      // 139=FLOAT_2DOUBLE
878            1,      // 140=DOUBLE_2INT
879            1,      // 141=DOUBLE_2LONG
880            1,      // 142=DOUBLE_2FLOAT
881            1,      // 143=INT_2BYTE
882            1,      // 144=INT_2USHORT
883            1,      // 145=INT_2SHORT
884            2,      // 146=LONG_CMP
885            -1,     // 147=FLOAT_CMPL
886            -1,     // 148=FLOAT_CMPG
887            -1,     // 149=DOUBLE_CMPL
888            -1,     // 150=DOUBLE_CMPG
889            1,      // 151=RETURN
890            1,      // 152=NULL_CHECK
891            0,      // 153=GOTO
892            1,      // 154=BOOLEAN_NOT
893            2,      // 155=BOOLEAN_CMP_INT
894            -1,     // 156=BOOLEAN_CMP_ADDR
895            2,      // 157=BOOLEAN_CMP_LONG
896            -1,     // 158=BOOLEAN_CMP_FLOAT
897            -1,     // 159=BOOLEAN_CMP_DOUBLE
898            2,      // 160=BYTE_LOAD
899            2,      // 161=UBYTE_LOAD
900            2,      // 162=SHORT_LOAD
901            2,      // 163=USHORT_LOAD
902            -1,     // 164=REF_LOAD
903            -1,     // 165=REF_STORE
904            2,      // 166=INT_LOAD
905            2,      // 167=LONG_LOAD
906            2,      // 168=FLOAT_LOAD
907            2,      // 169=DOUBLE_LOAD
908            2,      // 170=BYTE_STORE
909            2,      // 171=SHORT_STORE
910            2,      // 172=INT_STORE
911            2,      // 173=LONG_STORE
912            2,      // 174=FLOAT_STORE
913            2,      // 175=DOUBLE_STORE
914            2,      // 176=PREPARE_INT
915            -1,     // 177=PREPARE_ADDR
916            2,      // 178=PREPARE_LONG
917            2,      // 179=ATTEMPT_INT
918            -1,     // 180=ATTEMPT_ADDR
919            2,      // 181=ATTEMPT_LONG
920            2,      // 182=CALL
921            2,      // 183=SYSCALL
922            0,      // 184=YIELDPOINT_PROLOGUE
923            0,      // 185=YIELDPOINT_EPILOGUE
924            0,      // 186=YIELDPOINT_BACKEDGE
925            2,      // 187=YIELDPOINT_OSR
926            -1,     // 188=OSR_BARRIER
927            0,      // 189=IR_PROLOGUE
928            0,      // 190=RESOLVE
929            -1,     // 191=RESOLVE_MEMBER
930            0,      // 192=GET_TIME_BASE
931            -1,     // 193=INSTRUMENTED_EVENT_COUNTER
932            2,      // 194=TRAP_IF
933            0,      // 195=TRAP
934            1,      // 196=FLOAT_AS_INT_BITS
935            1,      // 197=INT_BITS_AS_FLOAT
936            1,      // 198=DOUBLE_AS_LONG_BITS
937            1,      // 199=LONG_BITS_AS_DOUBLE
938            -1,     // 200=ARRAYLENGTH
939            -1,     // 201=GET_OBJ_TIB
940            -1,     // 202=GET_CLASS_TIB
941            -1,     // 203=GET_TYPE_FROM_TIB
942            -1,     // 204=GET_SUPERCLASS_IDS_FROM_TIB
943            -1,     // 205=GET_DOES_IMPLEMENT_FROM_TIB
944            -1,     // 206=GET_ARRAY_ELEMENT_TIB_FROM_TIB
945            1,      // 207=LOWTABLESWITCH
946            0,      // 208=ADDRESS_CONSTANT
947            0,      // 209=INT_CONSTANT
948            0,      // 210=LONG_CONSTANT
949            0,      // 211=REGISTER
950            2,      // 212=OTHER_OPERAND
951            0,      // 213=NULL
952            0,      // 214=BRANCH_TARGET
953            1,      // 215=MATERIALIZE_FP_CONSTANT
954            0,      // 216=GET_CURRENT_PROCESSOR
955            -1,     // 217=ROUND_TO_ZERO
956            0,      // 218=CLEAR_FLOATING_POINT_STATE
957            1,      // 219=PREFETCH
958            0,      // 220=PAUSE
959            -1,     // 221=FP_ADD
960            -1,     // 222=FP_SUB
961            -1,     // 223=FP_MUL
962            -1,     // 224=FP_DIV
963            -1,     // 225=FP_NEG
964            -1,     // 226=FP_REM
965            -1,     // 227=INT_2FP
966            -1,     // 228=LONG_2FP
967            2,      // 229=CMP_CMOV
968            2,      // 230=FCMP_CMOV
969            2,      // 231=LCMP_CMOV
970            -1,     // 232=CMP_FCMOV
971            2,      // 233=FCMP_FCMOV
972            -1,     // 234=CALL_SAVE_VOLATILE
973            -1,     // 235=MIR_START
974            -1,     // 236=REQUIRE_ESP
975            -1,     // 237=ADVISE_ESP
976            -1,     // 238=MIR_LOWTABLESWITCH
977            -1,     // 239=IA32_METHODSTART
978            -1,     // 240=IA32_FCLEAR
979            -1,     // 241=DUMMY_DEF
980            -1,     // 242=DUMMY_USE
981            -1,     // 243=IA32_FMOV_ENDING_LIVE_RANGE
982            -1,     // 244=IA32_FMOV
983            -1,     // 245=IA32_TRAPIF
984            -1,     // 246=IA32_OFFSET
985            -1,     // 247=IA32_LOCK_CMPXCHG
986            -1,     // 248=IA32_LOCK_CMPXCHG8B
987            -1,     // 249=IA32_ADC
988            -1,     // 250=IA32_ADD
989            -1,     // 251=IA32_AND
990            -1,     // 252=IA32_BSWAP
991            -1,     // 253=IA32_BT
992            -1,     // 254=IA32_BTC
993            -1,     // 255=IA32_BTR
994            -1,     // 256=IA32_BTS
995            -1,     // 257=IA32_SYSCALL
996            -1,     // 258=IA32_CALL
997            -1,     // 259=IA32_CDQ
998            -1,     // 260=IA32_CDO
999            -1,     // 261=IA32_CDQE
1000            -1,     // 262=IA32_CMOV
1001            -1,     // 263=IA32_CMP
1002            -1,     // 264=IA32_CMPXCHG
1003            -1,     // 265=IA32_CMPXCHG8B
1004            -1,     // 266=IA32_DEC
1005            -1,     // 267=IA32_DIV
1006            -1,     // 268=IA32_FADD
1007            -1,     // 269=IA32_FADDP
1008            -1,     // 270=IA32_FCHS
1009            -1,     // 271=IA32_FCMOV
1010            -1,     // 272=IA32_FCOMI
1011            -1,     // 273=IA32_FCOMIP
1012            -1,     // 274=IA32_FDIV
1013            -1,     // 275=IA32_FDIVP
1014            -1,     // 276=IA32_FDIVR
1015            -1,     // 277=IA32_FDIVRP
1016            -1,     // 278=IA32_FEXAM
1017            -1,     // 279=IA32_FXCH
1018            -1,     // 280=IA32_FFREE
1019            -1,     // 281=IA32_FIADD
1020            -1,     // 282=IA32_FIDIV
1021            -1,     // 283=IA32_FIDIVR
1022            -1,     // 284=IA32_FILD
1023            -1,     // 285=IA32_FIMUL
1024            -1,     // 286=IA32_FINIT
1025            -1,     // 287=IA32_FIST
1026            -1,     // 288=IA32_FISTP
1027            -1,     // 289=IA32_FISUB
1028            -1,     // 290=IA32_FISUBR
1029            -1,     // 291=IA32_FLD
1030            -1,     // 292=IA32_FLDCW
1031            -1,     // 293=IA32_FLD1
1032            -1,     // 294=IA32_FLDL2T
1033            -1,     // 295=IA32_FLDL2E
1034            -1,     // 296=IA32_FLDPI
1035            -1,     // 297=IA32_FLDLG2
1036            -1,     // 298=IA32_FLDLN2
1037            -1,     // 299=IA32_FLDZ
1038            -1,     // 300=IA32_FMUL
1039            -1,     // 301=IA32_FMULP
1040            -1,     // 302=IA32_FNSTCW
1041            -1,     // 303=IA32_FNINIT
1042            -1,     // 304=IA32_FNSAVE
1043            -1,     // 305=IA32_FPREM
1044            -1,     // 306=IA32_FRSTOR
1045            -1,     // 307=IA32_FST
1046            -1,     // 308=IA32_FSTCW
1047            -1,     // 309=IA32_FSTP
1048            -1,     // 310=IA32_FSUB
1049            -1,     // 311=IA32_FSUBP
1050            -1,     // 312=IA32_FSUBR
1051            -1,     // 313=IA32_FSUBRP
1052            -1,     // 314=IA32_FUCOMI
1053            -1,     // 315=IA32_FUCOMIP
1054            -1,     // 316=IA32_IDIV
1055            -1,     // 317=IA32_IMUL1
1056            -1,     // 318=IA32_IMUL2
1057            -1,     // 319=IA32_INC
1058            -1,     // 320=IA32_INT
1059            -1,     // 321=IA32_JCC
1060            -1,     // 322=IA32_JCC2
1061            -1,     // 323=IA32_JMP
1062            -1,     // 324=IA32_LEA
1063            -1,     // 325=IA32_LOCK
1064            -1,     // 326=IA32_MOV
1065            -1,     // 327=IA32_MOVZX__B
1066            -1,     // 328=IA32_MOVSX__B
1067            -1,     // 329=IA32_MOVZX__W
1068            -1,     // 330=IA32_MOVSX__W
1069            -1,     // 331=IA32_MOVZXQ__B
1070            -1,     // 332=IA32_MOVSXQ__B
1071            -1,     // 333=IA32_MOVZXQ__W
1072            -1,     // 334=IA32_MOVSXQ__W
1073            -1,     // 335=IA32_MUL
1074            -1,     // 336=IA32_NEG
1075            -1,     // 337=IA32_NOT
1076            -1,     // 338=IA32_OR
1077            -1,     // 339=IA32_PAUSE
1078            -1,     // 340=IA32_PREFETCHNTA
1079            -1,     // 341=IA32_POP
1080            -1,     // 342=IA32_PUSH
1081            -1,     // 343=IA32_RCL
1082            -1,     // 344=IA32_RCR
1083            -1,     // 345=IA32_ROL
1084            -1,     // 346=IA32_ROR
1085            -1,     // 347=IA32_RET
1086            -1,     // 348=IA32_SAL
1087            -1,     // 349=IA32_SAR
1088            -1,     // 350=IA32_SHL
1089            -1,     // 351=IA32_SHR
1090            -1,     // 352=IA32_SBB
1091            -1,     // 353=IA32_SET__B
1092            -1,     // 354=IA32_SHLD
1093            -1,     // 355=IA32_SHRD
1094            -1,     // 356=IA32_SUB
1095            -1,     // 357=IA32_TEST
1096            -1,     // 358=IA32_XOR
1097            -1,     // 359=IA32_RDTSC
1098            -1,     // 360=IA32_ADDSS
1099            -1,     // 361=IA32_SUBSS
1100            -1,     // 362=IA32_MULSS
1101            -1,     // 363=IA32_DIVSS
1102            -1,     // 364=IA32_ADDSD
1103            -1,     // 365=IA32_SUBSD
1104            -1,     // 366=IA32_MULSD
1105            -1,     // 367=IA32_DIVSD
1106            -1,     // 368=IA32_ANDPS
1107            -1,     // 369=IA32_ANDPD
1108            -1,     // 370=IA32_ANDNPS
1109            -1,     // 371=IA32_ANDNPD
1110            -1,     // 372=IA32_ORPS
1111            -1,     // 373=IA32_ORPD
1112            -1,     // 374=IA32_XORPS
1113            -1,     // 375=IA32_XORPD
1114            -1,     // 376=IA32_UCOMISS
1115            -1,     // 377=IA32_UCOMISD
1116            -1,     // 378=IA32_CMPEQSS
1117            -1,     // 379=IA32_CMPLTSS
1118            -1,     // 380=IA32_CMPLESS
1119            -1,     // 381=IA32_CMPUNORDSS
1120            -1,     // 382=IA32_CMPNESS
1121            -1,     // 383=IA32_CMPNLTSS
1122            -1,     // 384=IA32_CMPNLESS
1123            -1,     // 385=IA32_CMPORDSS
1124            -1,     // 386=IA32_CMPEQSD
1125            -1,     // 387=IA32_CMPLTSD
1126            -1,     // 388=IA32_CMPLESD
1127            -1,     // 389=IA32_CMPUNORDSD
1128            -1,     // 390=IA32_CMPNESD
1129            -1,     // 391=IA32_CMPNLTSD
1130            -1,     // 392=IA32_CMPNLESD
1131            -1,     // 393=IA32_CMPORDSD
1132            -1,     // 394=IA32_MOVLPD
1133            -1,     // 395=IA32_MOVLPS
1134            -1,     // 396=IA32_MOVSS
1135            -1,     // 397=IA32_MOVSD
1136            -1,     // 398=IA32_MOVD
1137            -1,     // 399=IA32_MOVQ
1138            -1,     // 400=IA32_PSLLQ
1139            -1,     // 401=IA32_PSRLQ
1140            -1,     // 402=IA32_SQRTSS
1141            -1,     // 403=IA32_SQRTSD
1142            -1,     // 404=IA32_CVTSI2SS
1143            -1,     // 405=IA32_CVTSS2SD
1144            -1,     // 406=IA32_CVTSS2SI
1145            -1,     // 407=IA32_CVTTSS2SI
1146            -1,     // 408=IA32_CVTSI2SD
1147            -1,     // 409=IA32_CVTSD2SS
1148            -1,     // 410=IA32_CVTSD2SI
1149            -1,     // 411=IA32_CVTTSD2SI
1150            -1,     // 412=IA32_CVTSI2SDQ
1151            -1,     // 413=IA32_CVTSD2SIQ
1152            -1,     // 414=IA32_CVTTSD2SIQ
1153            -1,     // 415=MIR_END
1154    };*/
1155    
1156    static final char[][] decode = {null,
1157            {// stm_NT
1158            0,
1159            1,
1160            55,
1161            56,
1162            57,
1163            58,
1164            59,
1165            60,
1166            61,
1167            62,
1168            63,
1169            66,
1170            67,
1171            69,
1172            70,
1173            71,
1174            72,
1175            73,
1176            74,
1177            75,
1178            77,
1179            78,
1180            101,
1181            102,
1182            127,
1183            128,
1184            129,
1185            130,
1186            136,
1187            137,
1188            138,
1189            139,
1190            148,
1191            149,
1192            155,
1193            156,
1194            157,
1195            158,
1196            162,
1197            163,
1198            164,
1199            165,
1200            169,
1201            170,
1202            171,
1203            172,
1204            187,
1205            188,
1206            189,
1207            190,
1208            194,
1209            195,
1210            196,
1211            197,
1212            201,
1213            202,
1214            203,
1215            204,
1216            206,
1217            207,
1218            224,
1219            225,
1220            228,
1221            229,
1222            232,
1223            233,
1224            243,
1225            244,
1226            311,
1227            312,
1228            313,
1229            314,
1230            315,
1231            316,
1232            317,
1233            318,
1234            319,
1235            320,
1236            321,
1237            322,
1238            323,
1239            324,
1240            326,
1241            327,
1242            328,
1243            329,
1244            330,
1245            331,
1246            332,
1247            333,
1248            334,
1249            335,
1250            336,
1251            337,
1252            338,
1253            339,
1254            340,
1255            341,
1256            342,
1257            343,
1258            344,
1259            345,
1260            346,
1261            347,
1262            348,
1263            349,
1264            350,
1265            351,
1266            352,
1267            353,
1268            354,
1269            355,
1270            356,
1271            357,
1272            358,
1273            359,
1274            360,
1275            361,
1276            363,
1277            364,
1278            365,
1279            366,
1280            367,
1281            368,
1282            369,
1283            370,
1284            371,
1285            380,
1286            429,
1287            430,
1288            431,
1289            432,
1290            456,
1291            457,
1292            458,
1293            459,
1294            460,
1295            461,
1296            462,
1297            483,
1298            484,
1299    },
1300            {// r_NT
1301            0,
1302            2,
1303            3,
1304            5,
1305            49,
1306            50,
1307            51,
1308            52,
1309            53,
1310            54,
1311            64,
1312            65,
1313            68,
1314            76,
1315            79,
1316            81,
1317            83,
1318            84,
1319            85,
1320            86,
1321            87,
1322            89,
1323            91,
1324            93,
1325            95,
1326            97,
1327            99,
1328            103,
1329            105,
1330            106,
1331            107,
1332            108,
1333            109,
1334            110,
1335            111,
1336            112,
1337            113,
1338            114,
1339            115,
1340            116,
1341            117,
1342            118,
1343            119,
1344            120,
1345            121,
1346            122,
1347            124,
1348            132,
1349            133,
1350            140,
1351            141,
1352            142,
1353            143,
1354            144,
1355            145,
1356            146,
1357            153,
1358            173,
1359            174,
1360            175,
1361            176,
1362            177,
1363            178,
1364            179,
1365            180,
1366            205,
1367            208,
1368            209,
1369            210,
1370            211,
1371            212,
1372            213,
1373            214,
1374            215,
1375            216,
1376            217,
1377            218,
1378            219,
1379            220,
1380            221,
1381            222,
1382            223,
1383            227,
1384            230,
1385            231,
1386            234,
1387            235,
1388            236,
1389            237,
1390            238,
1391            239,
1392            240,
1393            241,
1394            242,
1395            245,
1396            246,
1397            247,
1398            248,
1399            249,
1400            252,
1401            268,
1402            269,
1403            270,
1404            271,
1405            272,
1406            273,
1407            274,
1408            276,
1409            277,
1410            278,
1411            279,
1412            280,
1413            281,
1414            282,
1415            283,
1416            284,
1417            285,
1418            286,
1419            287,
1420            288,
1421            289,
1422            290,
1423            291,
1424            292,
1425            293,
1426            294,
1427            295,
1428            296,
1429            297,
1430            298,
1431            299,
1432            300,
1433            301,
1434            302,
1435            303,
1436            304,
1437            305,
1438            306,
1439            307,
1440            308,
1441            309,
1442            310,
1443            325,
1444            362,
1445            372,
1446            373,
1447            374,
1448            375,
1449            376,
1450            377,
1451            378,
1452            379,
1453            391,
1454            392,
1455            393,
1456            394,
1457            395,
1458            396,
1459            397,
1460            398,
1461            399,
1462            400,
1463            401,
1464            402,
1465            403,
1466            404,
1467            405,
1468            406,
1469            407,
1470            408,
1471            409,
1472            410,
1473            411,
1474            412,
1475            413,
1476            414,
1477            415,
1478            416,
1479            417,
1480            418,
1481            419,
1482            420,
1483            421,
1484            423,
1485            425,
1486            427,
1487            433,
1488            434,
1489            435,
1490            436,
1491            437,
1492            438,
1493            439,
1494            440,
1495            441,
1496            442,
1497            443,
1498            444,
1499            445,
1500            447,
1501            449,
1502            451,
1503            453,
1504            463,
1505            464,
1506            465,
1507            466,
1508            467,
1509            468,
1510            469,
1511            470,
1512            471,
1513            472,
1514            473,
1515            474,
1516            475,
1517            476,
1518            477,
1519            478,
1520            479,
1521            480,
1522            481,
1523            482,
1524    },
1525            {// czr_NT
1526            0,
1527            123,
1528            125,
1529            126,
1530            131,
1531            134,
1532            135,
1533            253,
1534    },
1535            {// cz_NT
1536            0,
1537            4,
1538            254,
1539    },
1540            {// szpr_NT
1541            0,
1542            147,
1543            150,
1544            151,
1545            152,
1546            154,
1547            159,
1548            160,
1549            161,
1550            166,
1551            167,
1552            168,
1553            181,
1554            183,
1555            184,
1556            191,
1557            192,
1558            193,
1559            198,
1560            199,
1561            200,
1562            226,
1563            255,
1564    },
1565            {// szp_NT
1566            0,
1567            6,
1568            182,
1569            185,
1570            186,
1571            256,
1572    },
1573            {// riv_NT
1574            0,
1575            7,
1576            8,
1577    },
1578            {// rlv_NT
1579            0,
1580            9,
1581            10,
1582    },
1583            {// any_NT
1584            0,
1585            11,
1586            12,
1587            13,
1588            14,
1589            15,
1590    },
1591            {// sload8_NT
1592            0,
1593            16,
1594            17,
1595            260,
1596    },
1597            {// uload8_NT
1598            0,
1599            18,
1600            19,
1601            261,
1602            275,
1603    },
1604            {// load8_NT
1605            0,
1606            20,
1607            21,
1608            262,
1609    },
1610            {// sload16_NT
1611            0,
1612            22,
1613            23,
1614            263,
1615    },
1616            {// uload16_NT
1617            0,
1618            24,
1619            25,
1620            264,
1621    },
1622            {// load16_NT
1623            0,
1624            26,
1625            27,
1626            265,
1627    },
1628            {// load32_NT
1629            0,
1630            28,
1631            29,
1632            250,
1633            251,
1634            266,
1635            446,
1636    },
1637            {// load16_32_NT
1638            0,
1639            30,
1640            31,
1641    },
1642            {// load8_16_32_NT
1643            0,
1644            32,
1645            33,
1646    },
1647            {// load64_NT
1648            0,
1649            34,
1650            35,
1651            267,
1652            448,
1653    },
1654            {// address1scaledreg_NT
1655            0,
1656            36,
1657            38,
1658            43,
1659            258,
1660    },
1661            {// address1reg_NT
1662            0,
1663            39,
1664            40,
1665            42,
1666            257,
1667    },
1668            {// address_NT
1669            0,
1670            37,
1671            41,
1672            44,
1673            45,
1674            46,
1675            47,
1676            48,
1677            259,
1678    },
1679            {// boolcmp_NT
1680            0,
1681            80,
1682            82,
1683            88,
1684            90,
1685            92,
1686            94,
1687            96,
1688            98,
1689            100,
1690            104,
1691    },
1692            {// bittest_NT
1693            0,
1694            381,
1695            382,
1696            383,
1697            384,
1698            385,
1699            386,
1700            387,
1701            388,
1702            389,
1703            390,
1704    },
1705            {// float_load_NT
1706            0,
1707            426,
1708            428,
1709            450,
1710            454,
1711    },
1712            {// double_load_NT
1713            0,
1714            422,
1715            424,
1716            452,
1717            455,
1718    },
1719    };
1720    
1721    static void closure_r(BURS_TreeNode p, int c) {
1722            if (c < p.cost_rlv) {
1723                    p.cost_rlv = (char)(c);
1724                    p.word1 = (p.word1 & 0xFFFFFFFC) | 0x1; // p.rlv = 1
1725            }
1726            if (c < p.cost_riv) {
1727                    p.cost_riv = (char)(c);
1728                    p.word0 = (p.word0 & 0x9FFFFFFF) | 0x20000000; // p.riv = 1
1729                    closure_riv(p, c);
1730            }
1731            if (c < p.cost_stm) {
1732                    p.cost_stm = (char)(c);
1733                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x1; // p.stm = 1
1734            }
1735    }
1736    
1737    static void closure_czr(BURS_TreeNode p, int c) {
1738            if (c < p.cost_cz) {
1739                    p.cost_cz = (char)(c);
1740                    p.word0 = (p.word0 & 0xFFE7FFFF) | 0x80000; // p.cz = 1
1741            }
1742            if (c < p.cost_r) {
1743                    p.cost_r = (char)(c);
1744                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x200; // p.r = 2
1745                    closure_r(p, c);
1746            }
1747    }
1748    
1749    static void closure_szpr(BURS_TreeNode p, int c) {
1750            if (c < p.cost_szp) {
1751                    p.cost_szp = (char)(c);
1752                    p.word0 = (p.word0 & 0xE3FFFFFF) | 0x4000000; // p.szp = 1
1753            }
1754            if (c < p.cost_r) {
1755                    p.cost_r = (char)(c);
1756                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x300; // p.r = 3
1757                    closure_r(p, c);
1758            }
1759    }
1760    
1761    static void closure_riv(BURS_TreeNode p, int c) {
1762            if (c < p.cost_any) {
1763                    p.cost_any = (char)(c);
1764                    p.word1 = (p.word1 & 0xFFFFFFE3) | 0x8; // p.any = 2
1765            }
1766    }
1767    
1768    static void closure_sload8(BURS_TreeNode p, int c) {
1769            if (c < p.cost_load8) {
1770                    p.cost_load8 = (char)(c);
1771                    p.word1 = (p.word1 & 0xFFFFF3FF) | 0x400; // p.load8 = 1
1772                    closure_load8(p, c);
1773            }
1774    }
1775    
1776    static void closure_uload8(BURS_TreeNode p, int c) {
1777            if (c < p.cost_load8) {
1778                    p.cost_load8 = (char)(c);
1779                    p.word1 = (p.word1 & 0xFFFFF3FF) | 0x800; // p.load8 = 2
1780                    closure_load8(p, c);
1781            }
1782    }
1783    
1784    static void closure_load8(BURS_TreeNode p, int c) {
1785            if (c < p.cost_load8_16_32) {
1786                    p.cost_load8_16_32 = (char)(c);
1787                    p.word1 = (p.word1 & 0xFE7FFFFF) | 0x1000000; // p.load8_16_32 = 2
1788            }
1789    }
1790    
1791    static void closure_sload16(BURS_TreeNode p, int c) {
1792            if (c < p.cost_load16) {
1793                    p.cost_load16 = (char)(c);
1794                    p.word1 = (p.word1 & 0xFFFCFFFF) | 0x10000; // p.load16 = 1
1795                    closure_load16(p, c);
1796            }
1797    }
1798    
1799    static void closure_uload16(BURS_TreeNode p, int c) {
1800            if (c < p.cost_load16) {
1801                    p.cost_load16 = (char)(c);
1802                    p.word1 = (p.word1 & 0xFFFCFFFF) | 0x20000; // p.load16 = 2
1803                    closure_load16(p, c);
1804            }
1805    }
1806    
1807    static void closure_load16(BURS_TreeNode p, int c) {
1808            if (c < p.cost_load16_32) {
1809                    p.cost_load16_32 = (char)(c);
1810                    p.word1 = (p.word1 & 0xFF9FFFFF) | 0x200000; // p.load16_32 = 1
1811                    closure_load16_32(p, c);
1812            }
1813    }
1814    
1815    static void closure_load32(BURS_TreeNode p, int c) {
1816            if (c < p.cost_load16_32) {
1817                    p.cost_load16_32 = (char)(c);
1818                    p.word1 = (p.word1 & 0xFF9FFFFF) | 0x400000; // p.load16_32 = 2
1819                    closure_load16_32(p, c);
1820            }
1821    }
1822    
1823    static void closure_load16_32(BURS_TreeNode p, int c) {
1824            if (c < p.cost_load8_16_32) {
1825                    p.cost_load8_16_32 = (char)(c);
1826                    p.word1 = (p.word1 & 0xFE7FFFFF) | 0x800000; // p.load8_16_32 = 1
1827            }
1828    }
1829    
1830    static void closure_address1scaledreg(BURS_TreeNode p, int c) {
1831            if (c < p.cost_address) {
1832                    p.cost_address = (char)(c);
1833                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x8; // p.address = 1
1834            }
1835    }
1836    
1837    static void closure_address1reg(BURS_TreeNode p, int c) {
1838            if (c < p.cost_address1scaledreg) {
1839                    p.cost_address1scaledreg = (char)(c);
1840                    p.word1 = (p.word1 & 0x8FFFFFFF) | 0x10000000; // p.address1scaledreg = 1
1841                    closure_address1scaledreg(p, c);
1842            }
1843    }
1844    
1845    private void label_GET_CAUGHT_EXCEPTION(BURS_TreeNode p) {
1846            p.word0 = 0;
1847            p.initCost();
1848            // r: GET_CAUGHT_EXCEPTION
1849            if (11 < p.cost_r) {
1850                    p.cost_r = (char)(11);
1851                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC00; // p.r = 12
1852                    closure_r(p, 11);
1853            }
1854    }
1855    
1856    private void label_SET_CAUGHT_EXCEPTION(BURS_TreeNode p) {
1857            p.word0 = 0;
1858            p.initCost();
1859            BURS_TreeNode lchild;
1860            lchild = p.child1;
1861            label(lchild);
1862            int c;
1863            // stm: SET_CAUGHT_EXCEPTION(r)
1864            c = STATE(lchild).cost_r + 11;
1865            if (c < p.cost_stm) {
1866                    p.cost_stm = (char)(c);
1867                    p.word0 = (p.word0 & 0xFFFFFF00) | 0xD; // p.stm = 13
1868            }
1869    }
1870    
1871    private void label_IG_PATCH_POINT(BURS_TreeNode p) {
1872            p.word0 = 0;
1873            p.initCost();
1874            // stm: IG_PATCH_POINT
1875            if (10 < p.cost_stm) {
1876                    p.cost_stm = (char)(10);
1877                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x2; // p.stm = 2
1878            }
1879    }
1880    
1881    private void label_INT_ALOAD(BURS_TreeNode p) {
1882            p.word0 = 0;
1883            p.initCost();
1884            BURS_TreeNode lchild, rchild;
1885            lchild = p.child1;
1886            rchild = p.child2;
1887            label(lchild);
1888            label(rchild);
1889            int c;
1890            // load32: INT_ALOAD(riv,riv)
1891            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
1892            if (c < p.cost_load32) {
1893                    p.cost_load32 = (char)(c);
1894                    p.word1 = (p.word1 & 0xFFE3FFFF) | 0x80000; // p.load32 = 2
1895                    closure_load32(p, c);
1896            }
1897            // r: INT_ALOAD(riv,riv)
1898            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
1899            if (c < p.cost_r) {
1900                    p.cost_r = (char)(c);
1901                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7C00; // p.r = 124
1902                    closure_r(p, c);
1903            }
1904    }
1905    
1906    private void label_LONG_ALOAD(BURS_TreeNode p) {
1907            p.word0 = 0;
1908            p.initCost();
1909            BURS_TreeNode lchild, rchild;
1910            lchild = p.child1;
1911            rchild = p.child2;
1912            label(lchild);
1913            label(rchild);
1914            int c;
1915            // load64: LONG_ALOAD(riv,riv)
1916            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
1917            if (c < p.cost_load64) {
1918                    p.cost_load64 = (char)(c);
1919                    p.word1 = (p.word1 & 0xF1FFFFFF) | 0x4000000; // p.load64 = 2
1920            }
1921            // r: LONG_ALOAD(riv,riv)
1922            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 30;
1923            if (c < p.cost_r) {
1924                    p.cost_r = (char)(c);
1925                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7E00; // p.r = 126
1926                    closure_r(p, c);
1927            }
1928    }
1929    
1930    private void label_FLOAT_ALOAD(BURS_TreeNode p) {
1931            p.word0 = 0;
1932            p.initCost();
1933            BURS_TreeNode lchild, rchild;
1934            lchild = p.child1;
1935            rchild = p.child2;
1936            label(lchild);
1937            label(rchild);
1938            int c;
1939            // r: FLOAT_ALOAD(riv,riv)
1940            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
1941            if (c < p.cost_r) {
1942                    p.cost_r = (char)(c);
1943                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB900; // p.r = 185
1944                    closure_r(p, c);
1945            }
1946            // float_load: FLOAT_ALOAD(riv,riv)
1947            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
1948            if (c < p.cost_float_load) {
1949                    p.cost_float_load = (char)(c);
1950                    p.word2 = (p.word2 & 0xFFFC7FFF) | 0x10000; // p.float_load = 2
1951            }
1952    }
1953    
1954    private void label_DOUBLE_ALOAD(BURS_TreeNode p) {
1955            p.word0 = 0;
1956            p.initCost();
1957            BURS_TreeNode lchild, rchild;
1958            lchild = p.child1;
1959            rchild = p.child2;
1960            label(lchild);
1961            label(rchild);
1962            int c;
1963            // r: DOUBLE_ALOAD(riv,riv)
1964            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
1965            if (c < p.cost_r) {
1966                    p.cost_r = (char)(c);
1967                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB700; // p.r = 183
1968                    closure_r(p, c);
1969            }
1970            // double_load: DOUBLE_ALOAD(riv,riv)
1971            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
1972            if (c < p.cost_double_load) {
1973                    p.cost_double_load = (char)(c);
1974                    p.word2 = (p.word2 & 0xFFE3FFFF) | 0x80000; // p.double_load = 2
1975            }
1976    }
1977    
1978    private void label_UBYTE_ALOAD(BURS_TreeNode p) {
1979            p.word0 = 0;
1980            p.initCost();
1981            BURS_TreeNode lchild, rchild;
1982            lchild = p.child1;
1983            rchild = p.child2;
1984            label(lchild);
1985            label(rchild);
1986            int c;
1987            // uload8: UBYTE_ALOAD(riv,riv)
1988            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
1989            if (c < p.cost_uload8) {
1990                    p.cost_uload8 = (char)(c);
1991                    p.word1 = (p.word1 & 0xFFFFFC7F) | 0x100; // p.uload8 = 2
1992                    closure_uload8(p, c);
1993            }
1994            // r: UBYTE_ALOAD(riv,riv)
1995            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
1996            if (c < p.cost_r) {
1997                    p.cost_r = (char)(c);
1998                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6A00; // p.r = 106
1999                    closure_r(p, c);
2000            }
2001    }
2002    
2003    private void label_BYTE_ALOAD(BURS_TreeNode p) {
2004            p.word0 = 0;
2005            p.initCost();
2006            BURS_TreeNode lchild, rchild;
2007            lchild = p.child1;
2008            rchild = p.child2;
2009            label(lchild);
2010            label(rchild);
2011            int c;
2012            // sload8: BYTE_ALOAD(riv,riv)
2013            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
2014            if (c < p.cost_sload8) {
2015                    p.cost_sload8 = (char)(c);
2016                    p.word1 = (p.word1 & 0xFFFFFF9F) | 0x40; // p.sload8 = 2
2017                    closure_sload8(p, c);
2018            }
2019            // r: BYTE_ALOAD(riv,riv)
2020            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 20;
2021            if (c < p.cost_r) {
2022                    p.cost_r = (char)(c);
2023                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6800; // p.r = 104
2024                    closure_r(p, c);
2025            }
2026    }
2027    
2028    private void label_USHORT_ALOAD(BURS_TreeNode p) {
2029            p.word0 = 0;
2030            p.initCost();
2031            BURS_TreeNode lchild, rchild;
2032            lchild = p.child1;
2033            rchild = p.child2;
2034            label(lchild);
2035            label(rchild);
2036            int c;
2037            // uload16: USHORT_ALOAD(riv,riv)
2038            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
2039            if (c < p.cost_uload16) {
2040                    p.cost_uload16 = (char)(c);
2041                    p.word1 = (p.word1 & 0xFFFF3FFF) | 0x8000; // p.uload16 = 2
2042                    closure_uload16(p, c);
2043            }
2044            // r: USHORT_ALOAD(riv,riv)
2045            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
2046            if (c < p.cost_r) {
2047                    p.cost_r = (char)(c);
2048                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7100; // p.r = 113
2049                    closure_r(p, c);
2050            }
2051    }
2052    
2053    private void label_SHORT_ALOAD(BURS_TreeNode p) {
2054            p.word0 = 0;
2055            p.initCost();
2056            BURS_TreeNode lchild, rchild;
2057            lchild = p.child1;
2058            rchild = p.child2;
2059            label(lchild);
2060            label(rchild);
2061            int c;
2062            // sload16: SHORT_ALOAD(riv,riv)
2063            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
2064            if (c < p.cost_sload16) {
2065                    p.cost_sload16 = (char)(c);
2066                    p.word1 = (p.word1 & 0xFFFFCFFF) | 0x2000; // p.sload16 = 2
2067                    closure_sload16(p, c);
2068            }
2069            // r: SHORT_ALOAD(riv,riv)
2070            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 20;
2071            if (c < p.cost_r) {
2072                    p.cost_r = (char)(c);
2073                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6F00; // p.r = 111
2074                    closure_r(p, c);
2075            }
2076    }
2077    
2078    private void label_INT_ASTORE(BURS_TreeNode p) {
2079            p.word0 = 0;
2080            p.initCost();
2081            BURS_TreeNode lchild, rchild;
2082            lchild = p.child1;
2083            rchild = p.child2;
2084            label(lchild);
2085            label(rchild);
2086            int c;
2087            if (    // stm: INT_ASTORE(INT_ADD(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
2088                    lchild.getOpcode() == INT_ADD_opcode && 
2089                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2090                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2091            ) {
2092                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLL(p), 17);
2093                    if (c < p.cost_stm) {
2094                            p.cost_stm = (char)(c);
2095                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1A; // p.stm = 26
2096                    }
2097            }
2098            if (    // stm: INT_ASTORE(INT_ADD(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2099                    lchild.getOpcode() == INT_ADD_opcode && 
2100                    lchild.child2.getOpcode() == INT_ALOAD_opcode && 
2101                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2102            ) {
2103                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLR(p), 17);
2104                    if (c < p.cost_stm) {
2105                            p.cost_stm = (char)(c);
2106                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1B; // p.stm = 27
2107                    }
2108            }
2109            if (    // stm: INT_ASTORE(INT_SUB(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
2110                    lchild.getOpcode() == INT_SUB_opcode && 
2111                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2112                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2113            ) {
2114                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLL(p), 17);
2115                    if (c < p.cost_stm) {
2116                            p.cost_stm = (char)(c);
2117                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1E; // p.stm = 30
2118                    }
2119            }
2120            if (    // stm: INT_ASTORE(INT_SUB(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2121                    lchild.getOpcode() == INT_SUB_opcode && 
2122                    lchild.child2.getOpcode() == INT_ALOAD_opcode && 
2123                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2124            ) {
2125                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLR(p), 27);
2126                    if (c < p.cost_stm) {
2127                            p.cost_stm = (char)(c);
2128                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1F; // p.stm = 31
2129                    }
2130            }
2131            if (    // stm: INT_ASTORE(INT_NEG(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2132                    lchild.getOpcode() == INT_NEG_opcode && 
2133                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2134                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2135            ) {
2136                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLL(p), 17);
2137                    if (c < p.cost_stm) {
2138                            p.cost_stm = (char)(c);
2139                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x21; // p.stm = 33
2140                    }
2141            }
2142            if (    // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
2143                    lchild.getOpcode() == INT_SHL_opcode && 
2144                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2145                    lchild.child2.getOpcode() == INT_AND_opcode && 
2146                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
2147                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2148            ) {
2149                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + (ARRAY_ADDRESS_EQUAL(P(p), PLL(p), VLRR(p) == 31 ? 27 : INFINITE));
2150                    if (c < p.cost_stm) {
2151                            p.cost_stm = (char)(c);
2152                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x24; // p.stm = 36
2153                    }
2154            }
2155            if (    // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
2156                    lchild.getOpcode() == INT_SHL_opcode && 
2157                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2158                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
2159                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2160            ) {
2161                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + (ARRAY_ADDRESS_EQUAL(P(p), PLL(p), VLR(p) == 31 ? 17 : INFINITE));
2162                    if (c < p.cost_stm) {
2163                            p.cost_stm = (char)(c);
2164                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x25; // p.stm = 37
2165                    }
2166            }
2167            if (    // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
2168                    lchild.getOpcode() == INT_SHR_opcode && 
2169                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2170                    lchild.child2.getOpcode() == INT_AND_opcode && 
2171                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
2172                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2173            ) {
2174                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + (ARRAY_ADDRESS_EQUAL(P(p), PLL(p), VLRR(p) == 31 ? 27 : INFINITE));
2175                    if (c < p.cost_stm) {
2176                            p.cost_stm = (char)(c);
2177                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x28; // p.stm = 40
2178                    }
2179            }
2180            if (    // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
2181                    lchild.getOpcode() == INT_SHR_opcode && 
2182                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2183                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
2184                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2185            ) {
2186                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + (ARRAY_ADDRESS_EQUAL(P(p), PLL(p), VLR(p) == 31 ? 17 : INFINITE));
2187                    if (c < p.cost_stm) {
2188                            p.cost_stm = (char)(c);
2189                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x29; // p.stm = 41
2190                    }
2191            }
2192            if (    // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
2193                    lchild.getOpcode() == INT_USHR_opcode && 
2194                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2195                    lchild.child2.getOpcode() == INT_AND_opcode && 
2196                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
2197                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2198            ) {
2199                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + (ARRAY_ADDRESS_EQUAL(P(p), PLL(p), VLRR(p) == 31 ? 27 : INFINITE));
2200                    if (c < p.cost_stm) {
2201                            p.cost_stm = (char)(c);
2202                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2C; // p.stm = 44
2203                    }
2204            }
2205            if (    // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
2206                    lchild.getOpcode() == INT_USHR_opcode && 
2207                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2208                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
2209                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2210            ) {
2211                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + (ARRAY_ADDRESS_EQUAL(P(p), PLL(p), VLR(p) == 31 ? 17 : INFINITE));
2212                    if (c < p.cost_stm) {
2213                            p.cost_stm = (char)(c);
2214                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2D; // p.stm = 45
2215                    }
2216            }
2217            if (    // stm: INT_ASTORE(INT_AND(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
2218                    lchild.getOpcode() == INT_AND_opcode && 
2219                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2220                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2221            ) {
2222                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLL(p), 17);
2223                    if (c < p.cost_stm) {
2224                            p.cost_stm = (char)(c);
2225                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x30; // p.stm = 48
2226                    }
2227            }
2228            if (    // stm: INT_ASTORE(INT_AND(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2229                    lchild.getOpcode() == INT_AND_opcode && 
2230                    lchild.child2.getOpcode() == INT_ALOAD_opcode && 
2231                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2232            ) {
2233                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLR(p), 17);
2234                    if (c < p.cost_stm) {
2235                            p.cost_stm = (char)(c);
2236                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x31; // p.stm = 49
2237                    }
2238            }
2239            if (    // stm: INT_ASTORE(INT_OR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
2240                    lchild.getOpcode() == INT_OR_opcode && 
2241                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2242                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2243            ) {
2244                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLL(p), 17);
2245                    if (c < p.cost_stm) {
2246                            p.cost_stm = (char)(c);
2247                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x34; // p.stm = 52
2248                    }
2249            }
2250            if (    // stm: INT_ASTORE(INT_OR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2251                    lchild.getOpcode() == INT_OR_opcode && 
2252                    lchild.child2.getOpcode() == INT_ALOAD_opcode && 
2253                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2254            ) {
2255                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLR(p), 17);
2256                    if (c < p.cost_stm) {
2257                            p.cost_stm = (char)(c);
2258                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x35; // p.stm = 53
2259                    }
2260            }
2261            if (    // stm: INT_ASTORE(INT_XOR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
2262                    lchild.getOpcode() == INT_XOR_opcode && 
2263                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2264                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2265            ) {
2266                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLL(p), 17);
2267                    if (c < p.cost_stm) {
2268                            p.cost_stm = (char)(c);
2269                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x38; // p.stm = 56
2270                    }
2271            }
2272            if (    // stm: INT_ASTORE(INT_XOR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2273                    lchild.getOpcode() == INT_XOR_opcode && 
2274                    lchild.child2.getOpcode() == INT_ALOAD_opcode && 
2275                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2276            ) {
2277                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLR(p), 17);
2278                    if (c < p.cost_stm) {
2279                            p.cost_stm = (char)(c);
2280                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x39; // p.stm = 57
2281                    }
2282            }
2283            if (    // stm: INT_ASTORE(INT_NOT(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2284                    lchild.getOpcode() == INT_NOT_opcode && 
2285                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2286                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2287            ) {
2288                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLL(p), 17);
2289                    if (c < p.cost_stm) {
2290                            p.cost_stm = (char)(c);
2291                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3B; // p.stm = 59
2292                    }
2293            }
2294            if (    // stm: INT_ASTORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
2295                    lchild.getOpcode() == LONG_2INT_opcode && 
2296                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2297            ) {
2298                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2299                    if (c < p.cost_stm) {
2300                            p.cost_stm = (char)(c);
2301                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x43; // p.stm = 67
2302                    }
2303            }
2304            if (    // stm: INT_ASTORE(riv,OTHER_OPERAND(riv,riv))
2305                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2306            ) {
2307                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2308                    if (c < p.cost_stm) {
2309                            p.cost_stm = (char)(c);
2310                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x60; // p.stm = 96
2311                    }
2312            }
2313    }
2314    
2315    private void label_LONG_ASTORE(BURS_TreeNode p) {
2316            p.word0 = 0;
2317            p.initCost();
2318            BURS_TreeNode lchild, rchild;
2319            lchild = p.child1;
2320            rchild = p.child2;
2321            label(lchild);
2322            label(rchild);
2323            int c;
2324            if (    // stm: LONG_ASTORE(r,OTHER_OPERAND(riv,riv))
2325                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2326            ) {
2327                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 30;
2328                    if (c < p.cost_stm) {
2329                            p.cost_stm = (char)(c);
2330                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x63; // p.stm = 99
2331                    }
2332            }
2333            if (    // stm: LONG_ASTORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
2334                    lchild.getOpcode() == LONG_CONSTANT_opcode && 
2335                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2336            ) {
2337                    c = STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 26;
2338                    if (c < p.cost_stm) {
2339                            p.cost_stm = (char)(c);
2340                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x64; // p.stm = 100
2341                    }
2342            }
2343            if (    // stm: LONG_ASTORE(load64,OTHER_OPERAND(riv,riv))
2344                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2345            ) {
2346                    c = STATE(lchild).cost_load64 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 32;
2347                    if (c < p.cost_stm) {
2348                            p.cost_stm = (char)(c);
2349                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x8B; // p.stm = 139
2350                    }
2351            }
2352    }
2353    
2354    private void label_FLOAT_ASTORE(BURS_TreeNode p) {
2355            p.word0 = 0;
2356            p.initCost();
2357            BURS_TreeNode lchild, rchild;
2358            lchild = p.child1;
2359            rchild = p.child2;
2360            label(lchild);
2361            label(rchild);
2362            int c;
2363            if (    // stm: FLOAT_ASTORE(r,OTHER_OPERAND(riv,riv))
2364                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2365            ) {
2366                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 17;
2367                    if (c < p.cost_stm) {
2368                            p.cost_stm = (char)(c);
2369                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x83; // p.stm = 131
2370                    }
2371            }
2372    }
2373    
2374    private void label_DOUBLE_ASTORE(BURS_TreeNode p) {
2375            p.word0 = 0;
2376            p.initCost();
2377            BURS_TreeNode lchild, rchild;
2378            lchild = p.child1;
2379            rchild = p.child2;
2380            label(lchild);
2381            label(rchild);
2382            int c;
2383            if (    // stm: DOUBLE_ASTORE(r,OTHER_OPERAND(riv,riv))
2384                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2385            ) {
2386                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 17;
2387                    if (c < p.cost_stm) {
2388                            p.cost_stm = (char)(c);
2389                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x81; // p.stm = 129
2390                    }
2391            }
2392    }
2393    
2394    private void label_BYTE_ASTORE(BURS_TreeNode p) {
2395            p.word0 = 0;
2396            p.initCost();
2397            BURS_TreeNode lchild, rchild;
2398            lchild = p.child1;
2399            rchild = p.child2;
2400            label(lchild);
2401            label(rchild);
2402            int c;
2403            if (    // stm: BYTE_ASTORE(BOOLEAN_NOT(UBYTE_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2404                    lchild.getOpcode() == BOOLEAN_NOT_opcode && 
2405                    lchild.child1.getOpcode() == UBYTE_ALOAD_opcode && 
2406                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2407            ) {
2408                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ARRAY_ADDRESS_EQUAL(P(p), PLL(p), 17);
2409                    if (c < p.cost_stm) {
2410                            p.cost_stm = (char)(c);
2411                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x15; // p.stm = 21
2412                    }
2413            }
2414            if (    // stm: BYTE_ASTORE(boolcmp,OTHER_OPERAND(riv,riv))
2415                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2416            ) {
2417                    c = STATE(lchild).cost_boolcmp + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2418                    if (c < p.cost_stm) {
2419                            p.cost_stm = (char)(c);
2420                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x17; // p.stm = 23
2421                    }
2422            }
2423            if (    // stm: BYTE_ASTORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
2424                    lchild.getOpcode() == INT_2BYTE_opcode && 
2425                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2426            ) {
2427                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2428                    if (c < p.cost_stm) {
2429                            p.cost_stm = (char)(c);
2430                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3D; // p.stm = 61
2431                    }
2432            }
2433            if (    // stm: BYTE_ASTORE(riv,OTHER_OPERAND(riv,riv))
2434                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2435            ) {
2436                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2437                    if (c < p.cost_stm) {
2438                            p.cost_stm = (char)(c);
2439                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x54; // p.stm = 84
2440                    }
2441            }
2442            if (    // stm: BYTE_ASTORE(load8,OTHER_OPERAND(riv,riv))
2443                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2444            ) {
2445                    c = STATE(lchild).cost_load8 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 25;
2446                    if (c < p.cost_stm) {
2447                            p.cost_stm = (char)(c);
2448                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x55; // p.stm = 85
2449                    }
2450            }
2451    }
2452    
2453    private void label_SHORT_ASTORE(BURS_TreeNode p) {
2454            p.word0 = 0;
2455            p.initCost();
2456            BURS_TreeNode lchild, rchild;
2457            lchild = p.child1;
2458            rchild = p.child2;
2459            label(lchild);
2460            label(rchild);
2461            int c;
2462            if (    // stm: SHORT_ASTORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
2463                    lchild.getOpcode() == INT_2USHORT_opcode && 
2464                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2465            ) {
2466                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2467                    if (c < p.cost_stm) {
2468                            p.cost_stm = (char)(c);
2469                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3F; // p.stm = 63
2470                    }
2471            }
2472            if (    // stm: SHORT_ASTORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
2473                    lchild.getOpcode() == INT_2SHORT_opcode && 
2474                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2475            ) {
2476                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2477                    if (c < p.cost_stm) {
2478                            p.cost_stm = (char)(c);
2479                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x41; // p.stm = 65
2480                    }
2481            }
2482            if (    // stm: SHORT_ASTORE(riv,OTHER_OPERAND(riv,riv))
2483                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2484            ) {
2485                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2486                    if (c < p.cost_stm) {
2487                            p.cost_stm = (char)(c);
2488                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x58; // p.stm = 88
2489                    }
2490            }
2491            if (    // stm: SHORT_ASTORE(load16,OTHER_OPERAND(riv,riv))
2492                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2493            ) {
2494                    c = STATE(lchild).cost_load16 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 25;
2495                    if (c < p.cost_stm) {
2496                            p.cost_stm = (char)(c);
2497                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x59; // p.stm = 89
2498                    }
2499            }
2500    }
2501    
2502    private void label_INT_IFCMP(BURS_TreeNode p) {
2503            p.word0 = 0;
2504            p.initCost();
2505            BURS_TreeNode lchild, rchild;
2506            lchild = p.child1;
2507            rchild = p.child2;
2508            label(lchild);
2509            label(rchild);
2510            int c;
2511            if (    // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2512                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2513                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2514                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2515                    rchild.getOpcode() == INT_CONSTANT_opcode 
2516            ) {
2517                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isZERO(VR(p), 54);
2518                    if (c < p.cost_stm) {
2519                            p.cost_stm = (char)(c);
2520                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x44; // p.stm = 68
2521                    }
2522            }
2523            if (    // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2524                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2525                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2526                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2527                    rchild.getOpcode() == INT_CONSTANT_opcode 
2528            ) {
2529                    c = STATE(lchild.child1).cost_r + STATE(lchild.child2.child1).cost_address1scaledreg + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isZERO(VR(p), 54);
2530                    if (c < p.cost_stm) {
2531                            p.cost_stm = (char)(c);
2532                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x45; // p.stm = 69
2533                    }
2534            }
2535            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2536                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2537                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2538                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2539                    rchild.getOpcode() == INT_CONSTANT_opcode 
2540            ) {
2541                    c = STATE(lchild.child1).cost_address1scaledreg + STATE(lchild.child2.child1).cost_r + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isZERO(VR(p), 54);
2542                    if (c < p.cost_stm) {
2543                            p.cost_stm = (char)(c);
2544                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x46; // p.stm = 70
2545                    }
2546            }
2547            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2548                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2549                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2550                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2551                    rchild.getOpcode() == INT_CONSTANT_opcode 
2552            ) {
2553                    c = STATE(lchild.child1).cost_address1scaledreg + STATE(lchild.child2.child1).cost_address1reg + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isZERO(VR(p),54);
2554                    if (c < p.cost_stm) {
2555                            p.cost_stm = (char)(c);
2556                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x47; // p.stm = 71
2557                    }
2558            }
2559            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2560                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2561                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2562                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2563                    rchild.getOpcode() == INT_CONSTANT_opcode 
2564            ) {
2565                    c = STATE(lchild.child1).cost_address1reg + STATE(lchild.child2.child1).cost_address1scaledreg + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isZERO(VR(p),54);
2566                    if (c < p.cost_stm) {
2567                            p.cost_stm = (char)(c);
2568                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x48; // p.stm = 72
2569                    }
2570            }
2571            if (    // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2572                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2573                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2574                    lchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
2575                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2576                    rchild.getOpcode() == INT_CONSTANT_opcode 
2577            ) {
2578                    c = STATE(lchild.child1).cost_address + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isZERO(VR(p), 54);
2579                    if (c < p.cost_stm) {
2580                            p.cost_stm = (char)(c);
2581                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x49; // p.stm = 73
2582                    }
2583            }
2584            if (    // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2585                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2586                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
2587                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2588                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2589                    rchild.getOpcode() == INT_CONSTANT_opcode 
2590            ) {
2591                    c = STATE(lchild.child2.child1).cost_address + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isZERO(VR(p),54);
2592                    if (c < p.cost_stm) {
2593                            p.cost_stm = (char)(c);
2594                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4A; // p.stm = 74
2595                    }
2596            }
2597            if (    // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2598                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2599                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2600                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2601                    rchild.getOpcode() == INT_CONSTANT_opcode 
2602            ) {
2603                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isONE(VR(p), 54);
2604                    if (c < p.cost_stm) {
2605                            p.cost_stm = (char)(c);
2606                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4B; // p.stm = 75
2607                    }
2608            }
2609            if (    // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2610                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2611                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2612                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2613                    rchild.getOpcode() == INT_CONSTANT_opcode 
2614            ) {
2615                    c = STATE(lchild.child1).cost_r + STATE(lchild.child2.child1).cost_address1scaledreg + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isONE(VR(p), 54);
2616                    if (c < p.cost_stm) {
2617                            p.cost_stm = (char)(c);
2618                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4C; // p.stm = 76
2619                    }
2620            }
2621            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2622                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2623                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2624                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2625                    rchild.getOpcode() == INT_CONSTANT_opcode 
2626            ) {
2627                    c = STATE(lchild.child1).cost_address1scaledreg + STATE(lchild.child2.child1).cost_r + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isONE(VR(p), 54);
2628                    if (c < p.cost_stm) {
2629                            p.cost_stm = (char)(c);
2630                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4D; // p.stm = 77
2631                    }
2632            }
2633            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2634                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2635                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2636                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2637                    rchild.getOpcode() == INT_CONSTANT_opcode 
2638            ) {
2639                    c = STATE(lchild.child1).cost_address1scaledreg + STATE(lchild.child2.child1).cost_address1reg + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isONE(VR(p), 54);
2640                    if (c < p.cost_stm) {
2641                            p.cost_stm = (char)(c);
2642                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4E; // p.stm = 78
2643                    }
2644            }
2645            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2646                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2647                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2648                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2649                    rchild.getOpcode() == INT_CONSTANT_opcode 
2650            ) {
2651                    c = STATE(lchild.child1).cost_address1reg + STATE(lchild.child2.child1).cost_address1scaledreg + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isONE(VR(p), 54);
2652                    if (c < p.cost_stm) {
2653                            p.cost_stm = (char)(c);
2654                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4F; // p.stm = 79
2655                    }
2656            }
2657            if (    // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2658                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2659                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2660                    lchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
2661                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2662                    rchild.getOpcode() == INT_CONSTANT_opcode 
2663            ) {
2664                    c = STATE(lchild.child1).cost_address + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isONE(VR(p), 54);
2665                    if (c < p.cost_stm) {
2666                            p.cost_stm = (char)(c);
2667                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x50; // p.stm = 80
2668                    }
2669            }
2670            if (    // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2671                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2672                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
2673                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2674                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2675                    rchild.getOpcode() == INT_CONSTANT_opcode 
2676            ) {
2677                    c = STATE(lchild.child2.child1).cost_address + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isONE(VR(p), 54);
2678                    if (c < p.cost_stm) {
2679                            p.cost_stm = (char)(c);
2680                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x51; // p.stm = 81
2681                    }
2682            }
2683            // stm: INT_IFCMP(r,riv)
2684            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 26;
2685            if (c < p.cost_stm) {
2686                    p.cost_stm = (char)(c);
2687                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x65; // p.stm = 101
2688            }
2689            if (    // stm: INT_IFCMP(r,INT_CONSTANT)
2690                    rchild.getOpcode() == INT_CONSTANT_opcode 
2691            ) {
2692                    c = STATE(lchild).cost_r + (VR(p) == 0 && CMP_TO_TEST(IfCmp.getCond(P(p))) ? 24:INFINITE);
2693                    if (c < p.cost_stm) {
2694                            p.cost_stm = (char)(c);
2695                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x66; // p.stm = 102
2696                    }
2697            }
2698            if (    // stm: INT_IFCMP(load8,INT_CONSTANT)
2699                    rchild.getOpcode() == INT_CONSTANT_opcode 
2700            ) {
2701                    c = STATE(lchild).cost_load8 + FITS(IfCmp.getVal2(P(p)), 8, 28);
2702                    if (c < p.cost_stm) {
2703                            p.cost_stm = (char)(c);
2704                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x67; // p.stm = 103
2705                    }
2706            }
2707            // stm: INT_IFCMP(uload8,r)
2708            c = STATE(lchild).cost_uload8 + STATE(rchild).cost_r + 28;
2709            if (c < p.cost_stm) {
2710                    p.cost_stm = (char)(c);
2711                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x68; // p.stm = 104
2712            }
2713            // stm: INT_IFCMP(r,uload8)
2714            c = STATE(lchild).cost_r + STATE(rchild).cost_uload8 + 28;
2715            if (c < p.cost_stm) {
2716                    p.cost_stm = (char)(c);
2717                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x69; // p.stm = 105
2718            }
2719            if (    // stm: INT_IFCMP(sload16,INT_CONSTANT)
2720                    rchild.getOpcode() == INT_CONSTANT_opcode 
2721            ) {
2722                    c = STATE(lchild).cost_sload16 + FITS(IfCmp.getVal2(P(p)), 8, 28);
2723                    if (c < p.cost_stm) {
2724                            p.cost_stm = (char)(c);
2725                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x6A; // p.stm = 106
2726                    }
2727            }
2728            // stm: INT_IFCMP(load32,riv)
2729            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 28;
2730            if (c < p.cost_stm) {
2731                    p.cost_stm = (char)(c);
2732                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x6B; // p.stm = 107
2733            }
2734            // stm: INT_IFCMP(r,load32)
2735            c = STATE(lchild).cost_r + STATE(rchild).cost_load32 + 28;
2736            if (c < p.cost_stm) {
2737                    p.cost_stm = (char)(c);
2738                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x6C; // p.stm = 108
2739            }
2740            if (    // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
2741                    rchild.getOpcode() == INT_CONSTANT_opcode 
2742            ) {
2743                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 0 && IfCmp.getCond(P(p)).isNOT_EQUAL()) || (VR(p) == 1 && IfCmp.getCond(P(p)).isEQUAL()) ? 13:INFINITE);
2744                    if (c < p.cost_stm) {
2745                            p.cost_stm = (char)(c);
2746                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x6D; // p.stm = 109
2747                    }
2748            }
2749            if (    // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
2750                    rchild.getOpcode() == INT_CONSTANT_opcode 
2751            ) {
2752                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 0 && IfCmp.getCond(P(p)).isEQUAL()) || (VR(p) == 1 && IfCmp.getCond(P(p)).isNOT_EQUAL()) ? 13:INFINITE);
2753                    if (c < p.cost_stm) {
2754                            p.cost_stm = (char)(c);
2755                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x6E; // p.stm = 110
2756                    }
2757            }
2758            if (    // stm: INT_IFCMP(cz,INT_CONSTANT)
2759                    rchild.getOpcode() == INT_CONSTANT_opcode 
2760            ) {
2761                    c = STATE(lchild).cost_cz + isZERO(VR(p), 11);
2762                    if (c < p.cost_stm) {
2763                            p.cost_stm = (char)(c);
2764                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x6F; // p.stm = 111
2765                    }
2766            }
2767            if (    // stm: INT_IFCMP(szp,INT_CONSTANT)
2768                    rchild.getOpcode() == INT_CONSTANT_opcode 
2769            ) {
2770                    c = STATE(lchild).cost_szp + (VR(p) == 0 && EQ_NE(IfCmp.getCond(P(p)))?11:INFINITE);
2771                    if (c < p.cost_stm) {
2772                            p.cost_stm = (char)(c);
2773                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x70; // p.stm = 112
2774                    }
2775            }
2776            if (    // stm: INT_IFCMP(bittest,INT_CONSTANT)
2777                    rchild.getOpcode() == INT_CONSTANT_opcode 
2778            ) {
2779                    c = STATE(lchild).cost_bittest + ((VR(p) == 0 || VR(p) == 1) && EQ_NE(IfCmp.getCond(P(p))) ? 11 : INFINITE);
2780                    if (c < p.cost_stm) {
2781                            p.cost_stm = (char)(c);
2782                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x71; // p.stm = 113
2783                    }
2784            }
2785    }
2786    
2787    private void label_INT_IFCMP2(BURS_TreeNode p) {
2788            p.word0 = 0;
2789            p.initCost();
2790            BURS_TreeNode lchild, rchild;
2791            lchild = p.child1;
2792            rchild = p.child2;
2793            label(lchild);
2794            label(rchild);
2795            int c;
2796            // stm: INT_IFCMP2(r,riv)
2797            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 26;
2798            if (c < p.cost_stm) {
2799                    p.cost_stm = (char)(c);
2800                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x72; // p.stm = 114
2801            }
2802            // stm: INT_IFCMP2(load32,riv)
2803            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 28;
2804            if (c < p.cost_stm) {
2805                    p.cost_stm = (char)(c);
2806                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x73; // p.stm = 115
2807            }
2808            // stm: INT_IFCMP2(riv,load32)
2809            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 28;
2810            if (c < p.cost_stm) {
2811                    p.cost_stm = (char)(c);
2812                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x74; // p.stm = 116
2813            }
2814    }
2815    
2816    private void label_LONG_IFCMP(BURS_TreeNode p) {
2817            p.word0 = 0;
2818            p.initCost();
2819            BURS_TreeNode lchild, rchild;
2820            lchild = p.child1;
2821            rchild = p.child2;
2822            label(lchild);
2823            label(rchild);
2824            int c;
2825            // stm: LONG_IFCMP(rlv,rlv)
2826            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 30;
2827            if (c < p.cost_stm) {
2828                    p.cost_stm = (char)(c);
2829                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x75; // p.stm = 117
2830            }
2831    }
2832    
2833    private void label_FLOAT_IFCMP(BURS_TreeNode p) {
2834            p.word0 = 0;
2835            p.initCost();
2836            BURS_TreeNode lchild, rchild;
2837            lchild = p.child1;
2838            rchild = p.child2;
2839            label(lchild);
2840            label(rchild);
2841            int c;
2842            // stm: FLOAT_IFCMP(r,r)
2843            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
2844            if (c < p.cost_stm) {
2845                    p.cost_stm = (char)(c);
2846                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x85; // p.stm = 133
2847            }
2848            // stm: FLOAT_IFCMP(r,float_load)
2849            c = STATE(lchild).cost_r + STATE(rchild).cost_float_load + 15;
2850            if (c < p.cost_stm) {
2851                    p.cost_stm = (char)(c);
2852                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x86; // p.stm = 134
2853            }
2854            // stm: FLOAT_IFCMP(float_load,r)
2855            c = STATE(lchild).cost_float_load + STATE(rchild).cost_r + 15;
2856            if (c < p.cost_stm) {
2857                    p.cost_stm = (char)(c);
2858                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x87; // p.stm = 135
2859            }
2860    }
2861    
2862    private void label_DOUBLE_IFCMP(BURS_TreeNode p) {
2863            p.word0 = 0;
2864            p.initCost();
2865            BURS_TreeNode lchild, rchild;
2866            lchild = p.child1;
2867            rchild = p.child2;
2868            label(lchild);
2869            label(rchild);
2870            int c;
2871            // stm: DOUBLE_IFCMP(r,r)
2872            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
2873            if (c < p.cost_stm) {
2874                    p.cost_stm = (char)(c);
2875                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x88; // p.stm = 136
2876            }
2877            // stm: DOUBLE_IFCMP(r,double_load)
2878            c = STATE(lchild).cost_r + STATE(rchild).cost_double_load + 15;
2879            if (c < p.cost_stm) {
2880                    p.cost_stm = (char)(c);
2881                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x89; // p.stm = 137
2882            }
2883            // stm: DOUBLE_IFCMP(double_load,r)
2884            c = STATE(lchild).cost_double_load + STATE(rchild).cost_r + 15;
2885            if (c < p.cost_stm) {
2886                    p.cost_stm = (char)(c);
2887                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x8A; // p.stm = 138
2888            }
2889    }
2890    
2891    private void label_UNINT_BEGIN(BURS_TreeNode p) {
2892            p.word0 = 0;
2893            p.initCost();
2894            // stm: UNINT_BEGIN
2895            if (10 < p.cost_stm) {
2896                    p.cost_stm = (char)(10);
2897                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x3; // p.stm = 3
2898            }
2899    }
2900    
2901    private void label_UNINT_END(BURS_TreeNode p) {
2902            p.word0 = 0;
2903            p.initCost();
2904            // stm: UNINT_END
2905            if (10 < p.cost_stm) {
2906                    p.cost_stm = (char)(10);
2907                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x4; // p.stm = 4
2908            }
2909    }
2910    
2911    private void label_READ_CEILING(BURS_TreeNode p) {
2912            p.word0 = 0;
2913            p.initCost();
2914            // stm: READ_CEILING
2915            if (11 < p.cost_stm) {
2916                    p.cost_stm = (char)(11);
2917                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x79; // p.stm = 121
2918            }
2919    }
2920    
2921    private void label_WRITE_FLOOR(BURS_TreeNode p) {
2922            p.word0 = 0;
2923            p.initCost();
2924            // stm: WRITE_FLOOR
2925            if (11 < p.cost_stm) {
2926                    p.cost_stm = (char)(11);
2927                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x78; // p.stm = 120
2928            }
2929    }
2930    
2931    private void label_NOP(BURS_TreeNode p) {
2932            p.word0 = 0;
2933            p.initCost();
2934            // stm: NOP
2935            if (10 < p.cost_stm) {
2936                    p.cost_stm = (char)(10);
2937                    p.word0 = (p.word0 & 0xFFFFFF00) | 0xA; // p.stm = 10
2938            }
2939    }
2940    
2941    private void label_INT_MOVE(BURS_TreeNode p) {
2942            p.word0 = 0;
2943            p.initCost();
2944            BURS_TreeNode lchild;
2945            lchild = p.child1;
2946            label(lchild);
2947            int c;
2948            // address1reg: INT_MOVE(r)
2949            c = STATE(lchild).cost_r + 0;
2950            if (c < p.cost_address1reg) {
2951                    p.cost_address1reg = (char)(c);
2952                    p.word2 = (p.word2 & 0xFFFFFFF8) | 0x2; // p.address1reg = 2
2953                    closure_address1reg(p, c);
2954            }
2955            // r: INT_MOVE(address)
2956            c = STATE(lchild).cost_address + 20;
2957            if (c < p.cost_r) {
2958                    p.cost_r = (char)(c);
2959                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x900; // p.r = 9
2960                    closure_r(p, c);
2961            }
2962            // r: INT_MOVE(riv)
2963            c = STATE(lchild).cost_riv + 13;
2964            if (c < p.cost_r) {
2965                    p.cost_r = (char)(c);
2966                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6300; // p.r = 99
2967                    closure_r(p, c);
2968            }
2969            // czr: INT_MOVE(czr)
2970            c = STATE(lchild).cost_czr + 11;
2971            if (c < p.cost_czr) {
2972                    p.cost_czr = (char)(c);
2973                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x70000; // p.czr = 7
2974                    closure_czr(p, c);
2975            }
2976            // cz: INT_MOVE(cz)
2977            c = STATE(lchild).cost_cz + 0;
2978            if (c < p.cost_cz) {
2979                    p.cost_cz = (char)(c);
2980                    p.word0 = (p.word0 & 0xFFE7FFFF) | 0x100000; // p.cz = 2
2981            }
2982            // szpr: INT_MOVE(szpr)
2983            c = STATE(lchild).cost_szpr + 11;
2984            if (c < p.cost_szpr) {
2985                    p.cost_szpr = (char)(c);
2986                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2C00000; // p.szpr = 22
2987                    closure_szpr(p, c);
2988            }
2989            // szp: INT_MOVE(szp)
2990            c = STATE(lchild).cost_szp + 0;
2991            if (c < p.cost_szp) {
2992                    p.cost_szp = (char)(c);
2993                    p.word0 = (p.word0 & 0xE3FFFFFF) | 0x14000000; // p.szp = 5
2994            }
2995            // address1reg: INT_MOVE(address1reg)
2996            c = STATE(lchild).cost_address1reg + 0;
2997            if (c < p.cost_address1reg) {
2998                    p.cost_address1reg = (char)(c);
2999                    p.word2 = (p.word2 & 0xFFFFFFF8) | 0x4; // p.address1reg = 4
3000                    closure_address1reg(p, c);
3001            }
3002            // address1scaledreg: INT_MOVE(address1scaledreg)
3003            c = STATE(lchild).cost_address1scaledreg + 0;
3004            if (c < p.cost_address1scaledreg) {
3005                    p.cost_address1scaledreg = (char)(c);
3006                    p.word1 = (p.word1 & 0x8FFFFFFF) | 0x40000000; // p.address1scaledreg = 4
3007                    closure_address1scaledreg(p, c);
3008            }
3009            // address: INT_MOVE(address)
3010            c = STATE(lchild).cost_address + 0;
3011            if (c < p.cost_address) {
3012                    p.cost_address = (char)(c);
3013                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x40; // p.address = 8
3014            }
3015            // sload8: INT_MOVE(sload8)
3016            c = STATE(lchild).cost_sload8 + 0;
3017            if (c < p.cost_sload8) {
3018                    p.cost_sload8 = (char)(c);
3019                    p.word1 = (p.word1 & 0xFFFFFF9F) | 0x60; // p.sload8 = 3
3020                    closure_sload8(p, c);
3021            }
3022            // uload8: INT_MOVE(uload8)
3023            c = STATE(lchild).cost_uload8 + 0;
3024            if (c < p.cost_uload8) {
3025                    p.cost_uload8 = (char)(c);
3026                    p.word1 = (p.word1 & 0xFFFFFC7F) | 0x180; // p.uload8 = 3
3027                    closure_uload8(p, c);
3028            }
3029            // load8: INT_MOVE(load8)
3030            c = STATE(lchild).cost_load8 + 0;
3031            if (c < p.cost_load8) {
3032                    p.cost_load8 = (char)(c);
3033                    p.word1 = (p.word1 & 0xFFFFF3FF) | 0xC00; // p.load8 = 3
3034                    closure_load8(p, c);
3035            }
3036            // sload16: INT_MOVE(sload16)
3037            c = STATE(lchild).cost_sload16 + 0;
3038            if (c < p.cost_sload16) {
3039                    p.cost_sload16 = (char)(c);
3040                    p.word1 = (p.word1 & 0xFFFFCFFF) | 0x3000; // p.sload16 = 3
3041                    closure_sload16(p, c);
3042            }
3043            // uload16: INT_MOVE(uload16)
3044            c = STATE(lchild).cost_uload16 + 0;
3045            if (c < p.cost_uload16) {
3046                    p.cost_uload16 = (char)(c);
3047                    p.word1 = (p.word1 & 0xFFFF3FFF) | 0xC000; // p.uload16 = 3
3048                    closure_uload16(p, c);
3049            }
3050            // load16: INT_MOVE(load16)
3051            c = STATE(lchild).cost_load16 + 0;
3052            if (c < p.cost_load16) {
3053                    p.cost_load16 = (char)(c);
3054                    p.word1 = (p.word1 & 0xFFFCFFFF) | 0x30000; // p.load16 = 3
3055                    closure_load16(p, c);
3056            }
3057            // load32: INT_MOVE(load32)
3058            c = STATE(lchild).cost_load32 + 0;
3059            if (c < p.cost_load32) {
3060                    p.cost_load32 = (char)(c);
3061                    p.word1 = (p.word1 & 0xFFE3FFFF) | 0x140000; // p.load32 = 5
3062                    closure_load32(p, c);
3063            }
3064    }
3065    
3066    private void label_LONG_MOVE(BURS_TreeNode p) {
3067            p.word0 = 0;
3068            p.initCost();
3069            BURS_TreeNode lchild;
3070            lchild = p.child1;
3071            label(lchild);
3072            int c;
3073            // load64: LONG_MOVE(load64)
3074            c = STATE(lchild).cost_load64 + 0;
3075            if (c < p.cost_load64) {
3076                    p.cost_load64 = (char)(c);
3077                    p.word1 = (p.word1 & 0xF1FFFFFF) | 0x6000000; // p.load64 = 3
3078            }
3079            // r: LONG_MOVE(r)
3080            c = STATE(lchild).cost_r + 23;
3081            if (c < p.cost_r) {
3082                    p.cost_r = (char)(c);
3083                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6400; // p.r = 100
3084                    closure_r(p, c);
3085            }
3086            if (    // r: LONG_MOVE(LONG_CONSTANT)
3087                    lchild.getOpcode() == LONG_CONSTANT_opcode 
3088            ) {
3089                    c = 21;
3090                    if (c < p.cost_r) {
3091                            p.cost_r = (char)(c);
3092                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6500; // p.r = 101
3093                            closure_r(p, c);
3094                    }
3095            }
3096    }
3097    
3098    private void label_FLOAT_MOVE(BURS_TreeNode p) {
3099            p.word0 = 0;
3100            p.initCost();
3101            BURS_TreeNode lchild;
3102            lchild = p.child1;
3103            label(lchild);
3104            int c;
3105            // r: FLOAT_MOVE(r)
3106            c = STATE(lchild).cost_r + 13;
3107            if (c < p.cost_r) {
3108                    p.cost_r = (char)(c);
3109                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB400; // p.r = 180
3110                    closure_r(p, c);
3111            }
3112    }
3113    
3114    private void label_DOUBLE_MOVE(BURS_TreeNode p) {
3115            p.word0 = 0;
3116            p.initCost();
3117            BURS_TreeNode lchild;
3118            lchild = p.child1;
3119            label(lchild);
3120            int c;
3121            // r: DOUBLE_MOVE(r)
3122            c = STATE(lchild).cost_r + 13;
3123            if (c < p.cost_r) {
3124                    p.cost_r = (char)(c);
3125                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB500; // p.r = 181
3126                    closure_r(p, c);
3127            }
3128    }
3129    
3130    private void label_GUARD_MOVE(BURS_TreeNode p) {
3131            p.word0 = 0;
3132            p.initCost();
3133            // r: GUARD_MOVE
3134            if (11 < p.cost_r) {
3135                    p.cost_r = (char)(11);
3136                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA00; // p.r = 10
3137                    closure_r(p, 11);
3138            }
3139    }
3140    
3141    private void label_GUARD_COMBINE(BURS_TreeNode p) {
3142            p.word0 = 0;
3143            p.initCost();
3144            // r: GUARD_COMBINE
3145            if (11 < p.cost_r) {
3146                    p.cost_r = (char)(11);
3147                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB00; // p.r = 11
3148                    closure_r(p, 11);
3149            }
3150    }
3151    
3152    private void label_INT_ADD(BURS_TreeNode p) {
3153            p.word0 = 0;
3154            p.initCost();
3155            BURS_TreeNode lchild, rchild;
3156            lchild = p.child1;
3157            rchild = p.child2;
3158            label(lchild);
3159            label(rchild);
3160            int c;
3161            if (    // address1reg: INT_ADD(r,INT_CONSTANT)
3162                    rchild.getOpcode() == INT_CONSTANT_opcode 
3163            ) {
3164                    c = STATE(lchild).cost_r + 0;
3165                    if (c < p.cost_address1reg) {
3166                            p.cost_address1reg = (char)(c);
3167                            p.word2 = (p.word2 & 0xFFFFFFF8) | 0x1; // p.address1reg = 1
3168                            closure_address1reg(p, c);
3169                    }
3170            }
3171            // address: INT_ADD(r,r)
3172            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 0;
3173            if (c < p.cost_address) {
3174                    p.cost_address = (char)(c);
3175                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x10; // p.address = 2
3176            }
3177            if (    // address1reg: INT_ADD(address1reg,INT_CONSTANT)
3178                    rchild.getOpcode() == INT_CONSTANT_opcode 
3179            ) {
3180                    c = STATE(lchild).cost_address1reg + 0;
3181                    if (c < p.cost_address1reg) {
3182                            p.cost_address1reg = (char)(c);
3183                            p.word2 = (p.word2 & 0xFFFFFFF8) | 0x3; // p.address1reg = 3
3184                            closure_address1reg(p, c);
3185                    }
3186            }
3187            if (    // address1scaledreg: INT_ADD(address1scaledreg,INT_CONSTANT)
3188                    rchild.getOpcode() == INT_CONSTANT_opcode 
3189            ) {
3190                    c = STATE(lchild).cost_address1scaledreg + 0;
3191                    if (c < p.cost_address1scaledreg) {
3192                            p.cost_address1scaledreg = (char)(c);
3193                            p.word1 = (p.word1 & 0x8FFFFFFF) | 0x30000000; // p.address1scaledreg = 3
3194                            closure_address1scaledreg(p, c);
3195                    }
3196            }
3197            // address: INT_ADD(r,address1scaledreg)
3198            c = STATE(lchild).cost_r + STATE(rchild).cost_address1scaledreg + 0;
3199            if (c < p.cost_address) {
3200                    p.cost_address = (char)(c);
3201                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x18; // p.address = 3
3202            }
3203            // address: INT_ADD(address1scaledreg,r)
3204            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_r + 0;
3205            if (c < p.cost_address) {
3206                    p.cost_address = (char)(c);
3207                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x20; // p.address = 4
3208            }
3209            if (    // address: INT_ADD(address1scaledreg,INT_CONSTANT)
3210                    rchild.getOpcode() == INT_CONSTANT_opcode 
3211            ) {
3212                    c = STATE(lchild).cost_address1scaledreg + 0;
3213                    if (c < p.cost_address) {
3214                            p.cost_address = (char)(c);
3215                            p.word2 = (p.word2 & 0xFFFFFF87) | 0x28; // p.address = 5
3216                    }
3217            }
3218            // address: INT_ADD(address1scaledreg,address1reg)
3219            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_address1reg + 0;
3220            if (c < p.cost_address) {
3221                    p.cost_address = (char)(c);
3222                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x30; // p.address = 6
3223            }
3224            // address: INT_ADD(address1reg,address1scaledreg)
3225            c = STATE(lchild).cost_address1reg + STATE(rchild).cost_address1scaledreg + 0;
3226            if (c < p.cost_address) {
3227                    p.cost_address = (char)(c);
3228                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x38; // p.address = 7
3229            }
3230            // r: INT_ADD(address1scaledreg,r)
3231            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_r + 11;
3232            if (c < p.cost_r) {
3233                    p.cost_r = (char)(c);
3234                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x400; // p.r = 4
3235                    closure_r(p, c);
3236            }
3237            // r: INT_ADD(r,address1scaledreg)
3238            c = STATE(lchild).cost_r + STATE(rchild).cost_address1scaledreg + 11;
3239            if (c < p.cost_r) {
3240                    p.cost_r = (char)(c);
3241                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x500; // p.r = 5
3242                    closure_r(p, c);
3243            }
3244            // r: INT_ADD(address1scaledreg,address1reg)
3245            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_address1reg + 11;
3246            if (c < p.cost_r) {
3247                    p.cost_r = (char)(c);
3248                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x600; // p.r = 6
3249                    closure_r(p, c);
3250            }
3251            // r: INT_ADD(address1reg,address1scaledreg)
3252            c = STATE(lchild).cost_address1reg + STATE(rchild).cost_address1scaledreg + 11;
3253            if (c < p.cost_r) {
3254                    p.cost_r = (char)(c);
3255                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x700; // p.r = 7
3256                    closure_r(p, c);
3257            }
3258            if (    // r: INT_ADD(address,INT_CONSTANT)
3259                    rchild.getOpcode() == INT_CONSTANT_opcode 
3260            ) {
3261                    c = STATE(lchild).cost_address + 11;
3262                    if (c < p.cost_r) {
3263                            p.cost_r = (char)(c);
3264                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x800; // p.r = 8
3265                            closure_r(p, c);
3266                    }
3267            }
3268            // czr: INT_ADD(r,riv)
3269            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 13;
3270            if (c < p.cost_czr) {
3271                    p.cost_czr = (char)(c);
3272                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x10000; // p.czr = 1
3273                    closure_czr(p, c);
3274            }
3275            // r: INT_ADD(r,riv)
3276            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + (!Binary.getResult(P(p)).similar(Binary.getVal1(P(p))) && !Binary.getResult(P(p)).similar(Binary.getVal2(P(p))) ? 11 : INFINITE);
3277            if (c < p.cost_r) {
3278                    p.cost_r = (char)(c);
3279                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x2E00; // p.r = 46
3280                    closure_r(p, c);
3281            }
3282            // czr: INT_ADD(riv,load32)
3283            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
3284            if (c < p.cost_czr) {
3285                    p.cost_czr = (char)(c);
3286                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x20000; // p.czr = 2
3287                    closure_czr(p, c);
3288            }
3289            // czr: INT_ADD(load32,riv)
3290            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
3291            if (c < p.cost_czr) {
3292                    p.cost_czr = (char)(c);
3293                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x30000; // p.czr = 3
3294                    closure_czr(p, c);
3295            }
3296    }
3297    
3298    private void label_LONG_ADD(BURS_TreeNode p) {
3299            p.word0 = 0;
3300            p.initCost();
3301            BURS_TreeNode lchild, rchild;
3302            lchild = p.child1;
3303            rchild = p.child2;
3304            label(lchild);
3305            label(rchild);
3306            int c;
3307            // r: LONG_ADD(r,rlv)
3308            c = STATE(lchild).cost_r + STATE(rchild).cost_rlv + 23;
3309            if (c < p.cost_r) {
3310                    p.cost_r = (char)(c);
3311                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4200; // p.r = 66
3312                    closure_r(p, c);
3313            }
3314    }
3315    
3316    private void label_FLOAT_ADD(BURS_TreeNode p) {
3317            p.word0 = 0;
3318            p.initCost();
3319            BURS_TreeNode lchild, rchild;
3320            lchild = p.child1;
3321            rchild = p.child2;
3322            label(lchild);
3323            label(rchild);
3324            int c;
3325            // r: FLOAT_ADD(r,r)
3326            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3327            if (c < p.cost_r) {
3328                    p.cost_r = (char)(c);
3329                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9800; // p.r = 152
3330                    closure_r(p, c);
3331            }
3332            // r: FLOAT_ADD(r,float_load)
3333            c = STATE(lchild).cost_r + STATE(rchild).cost_float_load + 15;
3334            if (c < p.cost_r) {
3335                    p.cost_r = (char)(c);
3336                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9900; // p.r = 153
3337                    closure_r(p, c);
3338            }
3339            // r: FLOAT_ADD(float_load,r)
3340            c = STATE(lchild).cost_float_load + STATE(rchild).cost_r + 15;
3341            if (c < p.cost_r) {
3342                    p.cost_r = (char)(c);
3343                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9A00; // p.r = 154
3344                    closure_r(p, c);
3345            }
3346    }
3347    
3348    private void label_DOUBLE_ADD(BURS_TreeNode p) {
3349            p.word0 = 0;
3350            p.initCost();
3351            BURS_TreeNode lchild, rchild;
3352            lchild = p.child1;
3353            rchild = p.child2;
3354            label(lchild);
3355            label(rchild);
3356            int c;
3357            // r: DOUBLE_ADD(r,r)
3358            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3359            if (c < p.cost_r) {
3360                    p.cost_r = (char)(c);
3361                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9B00; // p.r = 155
3362                    closure_r(p, c);
3363            }
3364            // r: DOUBLE_ADD(r,double_load)
3365            c = STATE(lchild).cost_r + STATE(rchild).cost_double_load + 15;
3366            if (c < p.cost_r) {
3367                    p.cost_r = (char)(c);
3368                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9C00; // p.r = 156
3369                    closure_r(p, c);
3370            }
3371            // r: DOUBLE_ADD(double_load,r)
3372            c = STATE(lchild).cost_double_load + STATE(rchild).cost_r + 15;
3373            if (c < p.cost_r) {
3374                    p.cost_r = (char)(c);
3375                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9D00; // p.r = 157
3376                    closure_r(p, c);
3377            }
3378    }
3379    
3380    private void label_INT_SUB(BURS_TreeNode p) {
3381            p.word0 = 0;
3382            p.initCost();
3383            BURS_TreeNode lchild, rchild;
3384            lchild = p.child1;
3385            rchild = p.child2;
3386            label(lchild);
3387            label(rchild);
3388            int c;
3389            // czr: INT_SUB(riv,r)
3390            c = STATE(lchild).cost_riv + STATE(rchild).cost_r + 13;
3391            if (c < p.cost_czr) {
3392                    p.cost_czr = (char)(c);
3393                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x40000; // p.czr = 4
3394                    closure_czr(p, c);
3395            }
3396            // r: INT_SUB(riv,r)
3397            c = STATE(lchild).cost_riv + STATE(rchild).cost_r + (Binary.getResult(P(p)).similar(Binary.getVal2(P(p))) ? 13-2 : INFINITE);
3398            if (c < p.cost_r) {
3399                    p.cost_r = (char)(c);
3400                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x2F00; // p.r = 47
3401                    closure_r(p, c);
3402            }
3403            // r: INT_SUB(load32,r)
3404            c = STATE(lchild).cost_load32 + STATE(rchild).cost_r + (Binary.getResult(P(p)).similar(Binary.getVal2(P(p))) ? 15-2 : INFINITE);
3405            if (c < p.cost_r) {
3406                    p.cost_r = (char)(c);
3407                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3000; // p.r = 48
3408                    closure_r(p, c);
3409            }
3410            // czr: INT_SUB(riv,load32)
3411            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
3412            if (c < p.cost_czr) {
3413                    p.cost_czr = (char)(c);
3414                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x50000; // p.czr = 5
3415                    closure_czr(p, c);
3416            }
3417            // czr: INT_SUB(load32,riv)
3418            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
3419            if (c < p.cost_czr) {
3420                    p.cost_czr = (char)(c);
3421                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x60000; // p.czr = 6
3422                    closure_czr(p, c);
3423            }
3424    }
3425    
3426    private void label_LONG_SUB(BURS_TreeNode p) {
3427            p.word0 = 0;
3428            p.initCost();
3429            BURS_TreeNode lchild, rchild;
3430            lchild = p.child1;
3431            rchild = p.child2;
3432            label(lchild);
3433            label(rchild);
3434            int c;
3435            // r: LONG_SUB(rlv,rlv)
3436            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 23;
3437            if (c < p.cost_r) {
3438                    p.cost_r = (char)(c);
3439                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4300; // p.r = 67
3440                    closure_r(p, c);
3441            }
3442    }
3443    
3444    private void label_FLOAT_SUB(BURS_TreeNode p) {
3445            p.word0 = 0;
3446            p.initCost();
3447            BURS_TreeNode lchild, rchild;
3448            lchild = p.child1;
3449            rchild = p.child2;
3450            label(lchild);
3451            label(rchild);
3452            int c;
3453            // r: FLOAT_SUB(r,r)
3454            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3455            if (c < p.cost_r) {
3456                    p.cost_r = (char)(c);
3457                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9E00; // p.r = 158
3458                    closure_r(p, c);
3459            }
3460            // r: FLOAT_SUB(r,float_load)
3461            c = STATE(lchild).cost_r + STATE(rchild).cost_float_load + 15;
3462            if (c < p.cost_r) {
3463                    p.cost_r = (char)(c);
3464                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9F00; // p.r = 159
3465                    closure_r(p, c);
3466            }
3467    }
3468    
3469    private void label_DOUBLE_SUB(BURS_TreeNode p) {
3470            p.word0 = 0;
3471            p.initCost();
3472            BURS_TreeNode lchild, rchild;
3473            lchild = p.child1;
3474            rchild = p.child2;
3475            label(lchild);
3476            label(rchild);
3477            int c;
3478            // r: DOUBLE_SUB(r,r)
3479            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3480            if (c < p.cost_r) {
3481                    p.cost_r = (char)(c);
3482                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA000; // p.r = 160
3483                    closure_r(p, c);
3484            }
3485            // r: DOUBLE_SUB(r,double_load)
3486            c = STATE(lchild).cost_r + STATE(rchild).cost_double_load + 15;
3487            if (c < p.cost_r) {
3488                    p.cost_r = (char)(c);
3489                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA100; // p.r = 161
3490                    closure_r(p, c);
3491            }
3492    }
3493    
3494    private void label_INT_MUL(BURS_TreeNode p) {
3495            p.word0 = 0;
3496            p.initCost();
3497            BURS_TreeNode lchild, rchild;
3498            lchild = p.child1;
3499            rchild = p.child2;
3500            label(lchild);
3501            label(rchild);
3502            int c;
3503            // r: INT_MUL(riv,riv)
3504            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 13;
3505            if (c < p.cost_r) {
3506                    p.cost_r = (char)(c);
3507                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3100; // p.r = 49
3508                    closure_r(p, c);
3509            }
3510            // r: INT_MUL(riv,load32)
3511            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
3512            if (c < p.cost_r) {
3513                    p.cost_r = (char)(c);
3514                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3200; // p.r = 50
3515                    closure_r(p, c);
3516            }
3517            // r: INT_MUL(load32,riv)
3518            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
3519            if (c < p.cost_r) {
3520                    p.cost_r = (char)(c);
3521                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3300; // p.r = 51
3522                    closure_r(p, c);
3523            }
3524    }
3525    
3526    private void label_LONG_MUL(BURS_TreeNode p) {
3527            p.word0 = 0;
3528            p.initCost();
3529            BURS_TreeNode lchild, rchild;
3530            lchild = p.child1;
3531            rchild = p.child2;
3532            label(lchild);
3533            label(rchild);
3534            int c;
3535            // r: LONG_MUL(rlv,rlv)
3536            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 23;
3537            if (c < p.cost_r) {
3538                    p.cost_r = (char)(c);
3539                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4400; // p.r = 68
3540                    closure_r(p, c);
3541            }
3542    }
3543    
3544    private void label_FLOAT_MUL(BURS_TreeNode p) {
3545            p.word0 = 0;
3546            p.initCost();
3547            BURS_TreeNode lchild, rchild;
3548            lchild = p.child1;
3549            rchild = p.child2;
3550            label(lchild);
3551            label(rchild);
3552            int c;
3553            // r: FLOAT_MUL(r,r)
3554            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3555            if (c < p.cost_r) {
3556                    p.cost_r = (char)(c);
3557                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA200; // p.r = 162
3558                    closure_r(p, c);
3559            }
3560            // r: FLOAT_MUL(r,float_load)
3561            c = STATE(lchild).cost_r + STATE(rchild).cost_float_load + 15;
3562            if (c < p.cost_r) {
3563                    p.cost_r = (char)(c);
3564                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA300; // p.r = 163
3565                    closure_r(p, c);
3566            }
3567            // r: FLOAT_MUL(float_load,r)
3568            c = STATE(lchild).cost_float_load + STATE(rchild).cost_r + 15;
3569            if (c < p.cost_r) {
3570                    p.cost_r = (char)(c);
3571                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA400; // p.r = 164
3572                    closure_r(p, c);
3573            }
3574    }
3575    
3576    private void label_DOUBLE_MUL(BURS_TreeNode p) {
3577            p.word0 = 0;
3578            p.initCost();
3579            BURS_TreeNode lchild, rchild;
3580            lchild = p.child1;
3581            rchild = p.child2;
3582            label(lchild);
3583            label(rchild);
3584            int c;
3585            // r: DOUBLE_MUL(r,r)
3586            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3587            if (c < p.cost_r) {
3588                    p.cost_r = (char)(c);
3589                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA500; // p.r = 165
3590                    closure_r(p, c);
3591            }
3592            // r: DOUBLE_MUL(r,double_load)
3593            c = STATE(lchild).cost_r + STATE(rchild).cost_double_load + 15;
3594            if (c < p.cost_r) {
3595                    p.cost_r = (char)(c);
3596                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA600; // p.r = 166
3597                    closure_r(p, c);
3598            }
3599            // r: DOUBLE_MUL(double_load,r)
3600            c = STATE(lchild).cost_double_load + STATE(rchild).cost_r + 15;
3601            if (c < p.cost_r) {
3602                    p.cost_r = (char)(c);
3603                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA700; // p.r = 167
3604                    closure_r(p, c);
3605            }
3606    }
3607    
3608    private void label_INT_DIV(BURS_TreeNode p) {
3609            p.word0 = 0;
3610            p.initCost();
3611            BURS_TreeNode lchild, rchild;
3612            lchild = p.child1;
3613            rchild = p.child2;
3614            label(lchild);
3615            label(rchild);
3616            int c;
3617            // r: INT_DIV(riv,riv)
3618            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 52;
3619            if (c < p.cost_r) {
3620                    p.cost_r = (char)(c);
3621                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3400; // p.r = 52
3622                    closure_r(p, c);
3623            }
3624            // r: INT_DIV(riv,load32)
3625            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 55;
3626            if (c < p.cost_r) {
3627                    p.cost_r = (char)(c);
3628                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3500; // p.r = 53
3629                    closure_r(p, c);
3630            }
3631    }
3632    
3633    private void label_FLOAT_DIV(BURS_TreeNode p) {
3634            p.word0 = 0;
3635            p.initCost();
3636            BURS_TreeNode lchild, rchild;
3637            lchild = p.child1;
3638            rchild = p.child2;
3639            label(lchild);
3640            label(rchild);
3641            int c;
3642            // r: FLOAT_DIV(r,r)
3643            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3644            if (c < p.cost_r) {
3645                    p.cost_r = (char)(c);
3646                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA800; // p.r = 168
3647                    closure_r(p, c);
3648            }
3649            // r: FLOAT_DIV(r,float_load)
3650            c = STATE(lchild).cost_r + STATE(rchild).cost_float_load + 15;
3651            if (c < p.cost_r) {
3652                    p.cost_r = (char)(c);
3653                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA900; // p.r = 169
3654                    closure_r(p, c);
3655            }
3656    }
3657    
3658    private void label_DOUBLE_DIV(BURS_TreeNode p) {
3659            p.word0 = 0;
3660            p.initCost();
3661            BURS_TreeNode lchild, rchild;
3662            lchild = p.child1;
3663            rchild = p.child2;
3664            label(lchild);
3665            label(rchild);
3666            int c;
3667            // r: DOUBLE_DIV(r,r)
3668            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3669            if (c < p.cost_r) {
3670                    p.cost_r = (char)(c);
3671                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAA00; // p.r = 170
3672                    closure_r(p, c);
3673            }
3674            // r: DOUBLE_DIV(r,double_load)
3675            c = STATE(lchild).cost_r + STATE(rchild).cost_double_load + 15;
3676            if (c < p.cost_r) {
3677                    p.cost_r = (char)(c);
3678                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAB00; // p.r = 171
3679                    closure_r(p, c);
3680            }
3681    }
3682    
3683    private void label_INT_REM(BURS_TreeNode p) {
3684            p.word0 = 0;
3685            p.initCost();
3686            BURS_TreeNode lchild, rchild;
3687            lchild = p.child1;
3688            rchild = p.child2;
3689            label(lchild);
3690            label(rchild);
3691            int c;
3692            // r: INT_REM(riv,riv)
3693            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 52;
3694            if (c < p.cost_r) {
3695                    p.cost_r = (char)(c);
3696                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3600; // p.r = 54
3697                    closure_r(p, c);
3698            }
3699            // r: INT_REM(riv,load32)
3700            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 55;
3701            if (c < p.cost_r) {
3702                    p.cost_r = (char)(c);
3703                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3700; // p.r = 55
3704                    closure_r(p, c);
3705            }
3706    }
3707    
3708    private void label_FLOAT_REM(BURS_TreeNode p) {
3709            p.word0 = 0;
3710            p.initCost();
3711            BURS_TreeNode lchild, rchild;
3712            lchild = p.child1;
3713            rchild = p.child2;
3714            label(lchild);
3715            label(rchild);
3716            int c;
3717            // r: FLOAT_REM(r,r)
3718            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3719            if (c < p.cost_r) {
3720                    p.cost_r = (char)(c);
3721                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB000; // p.r = 176
3722                    closure_r(p, c);
3723            }
3724    }
3725    
3726    private void label_DOUBLE_REM(BURS_TreeNode p) {
3727            p.word0 = 0;
3728            p.initCost();
3729            BURS_TreeNode lchild, rchild;
3730            lchild = p.child1;
3731            rchild = p.child2;
3732            label(lchild);
3733            label(rchild);
3734            int c;
3735            // r: DOUBLE_REM(r,r)
3736            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3737            if (c < p.cost_r) {
3738                    p.cost_r = (char)(c);
3739                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB100; // p.r = 177
3740                    closure_r(p, c);
3741            }
3742    }
3743    
3744    private void label_INT_NEG(BURS_TreeNode p) {
3745            p.word0 = 0;
3746            p.initCost();
3747            BURS_TreeNode lchild;
3748            lchild = p.child1;
3749            label(lchild);
3750            int c;
3751            // szpr: INT_NEG(r)
3752            c = STATE(lchild).cost_r + 13;
3753            if (c < p.cost_szpr) {
3754                    p.cost_szpr = (char)(c);
3755                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x200000; // p.szpr = 1
3756                    closure_szpr(p, c);
3757            }
3758    }
3759    
3760    private void label_LONG_NEG(BURS_TreeNode p) {
3761            p.word0 = 0;
3762            p.initCost();
3763            BURS_TreeNode lchild;
3764            lchild = p.child1;
3765            label(lchild);
3766            int c;
3767            // r: LONG_NEG(r)
3768            c = STATE(lchild).cost_r + 23;
3769            if (c < p.cost_r) {
3770                    p.cost_r = (char)(c);
3771                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4500; // p.r = 69
3772                    closure_r(p, c);
3773            }
3774    }
3775    
3776    private void label_FLOAT_NEG(BURS_TreeNode p) {
3777            p.word0 = 0;
3778            p.initCost();
3779            BURS_TreeNode lchild;
3780            lchild = p.child1;
3781            label(lchild);
3782            int c;
3783            // r: FLOAT_NEG(r)
3784            c = STATE(lchild).cost_r + 26;
3785            if (c < p.cost_r) {
3786                    p.cost_r = (char)(c);
3787                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAC00; // p.r = 172
3788                    closure_r(p, c);
3789            }
3790    }
3791    
3792    private void label_DOUBLE_NEG(BURS_TreeNode p) {
3793            p.word0 = 0;
3794            p.initCost();
3795            BURS_TreeNode lchild;
3796            lchild = p.child1;
3797            label(lchild);
3798            int c;
3799            // r: DOUBLE_NEG(r)
3800            c = STATE(lchild).cost_r + 26;
3801            if (c < p.cost_r) {
3802                    p.cost_r = (char)(c);
3803                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAD00; // p.r = 173
3804                    closure_r(p, c);
3805            }
3806    }
3807    
3808    private void label_FLOAT_SQRT(BURS_TreeNode p) {
3809            p.word0 = 0;
3810            p.initCost();
3811            BURS_TreeNode lchild;
3812            lchild = p.child1;
3813            label(lchild);
3814            int c;
3815            // r: FLOAT_SQRT(r)
3816            c = STATE(lchild).cost_r + 13;
3817            if (c < p.cost_r) {
3818                    p.cost_r = (char)(c);
3819                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAE00; // p.r = 174
3820                    closure_r(p, c);
3821            }
3822    }
3823    
3824    private void label_DOUBLE_SQRT(BURS_TreeNode p) {
3825            p.word0 = 0;
3826            p.initCost();
3827            BURS_TreeNode lchild;
3828            lchild = p.child1;
3829            label(lchild);
3830            int c;
3831            // r: DOUBLE_SQRT(r)
3832            c = STATE(lchild).cost_r + 13;
3833            if (c < p.cost_r) {
3834                    p.cost_r = (char)(c);
3835                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAF00; // p.r = 175
3836                    closure_r(p, c);
3837            }
3838    }
3839    
3840    private void label_INT_SHL(BURS_TreeNode p) {
3841            p.word0 = 0;
3842            p.initCost();
3843            BURS_TreeNode lchild, rchild;
3844            lchild = p.child1;
3845            rchild = p.child2;
3846            label(lchild);
3847            label(rchild);
3848            int c;
3849            if (    // address1scaledreg: INT_SHL(r,INT_CONSTANT)
3850                    rchild.getOpcode() == INT_CONSTANT_opcode 
3851            ) {
3852                    c = STATE(lchild).cost_r + LEA_SHIFT(Binary.getVal2(P(p)), 0);
3853                    if (c < p.cost_address1scaledreg) {
3854                            p.cost_address1scaledreg = (char)(c);
3855                            p.word1 = (p.word1 & 0x8FFFFFFF) | 0x20000000; // p.address1scaledreg = 2
3856                            closure_address1scaledreg(p, c);
3857                    }
3858            }
3859            if (    // szpr: INT_SHL(riv,INT_AND(r,INT_CONSTANT))
3860                    rchild.getOpcode() == INT_AND_opcode && 
3861                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
3862            ) {
3863                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_r + (VRR(p) == 31 ? 23 : INFINITE);
3864                    if (c < p.cost_szpr) {
3865                            p.cost_szpr = (char)(c);
3866                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0x400000; // p.szpr = 2
3867                            closure_szpr(p, c);
3868                    }
3869            }
3870            // szpr: INT_SHL(riv,riv)
3871            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 23;
3872            if (c < p.cost_szpr) {
3873                    p.cost_szpr = (char)(c);
3874                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x600000; // p.szpr = 3
3875                    closure_szpr(p, c);
3876            }
3877            if (    // szpr: INT_SHL(r,INT_CONSTANT)
3878                    rchild.getOpcode() == INT_CONSTANT_opcode 
3879            ) {
3880                    c = STATE(lchild).cost_r + 13;
3881                    if (c < p.cost_szpr) {
3882                            p.cost_szpr = (char)(c);
3883                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0x800000; // p.szpr = 4
3884                            closure_szpr(p, c);
3885                    }
3886            }
3887            if (    // r: INT_SHL(r,INT_CONSTANT)
3888                    rchild.getOpcode() == INT_CONSTANT_opcode 
3889            ) {
3890                    c = STATE(lchild).cost_r + (!Binary.getResult(P(p)).similar(Binary.getVal1(P(p))) && (Binary.getVal2(P(p)).asIntConstant().value & 0x1f) <= 3 ? 11 : INFINITE);
3891                    if (c < p.cost_r) {
3892                            p.cost_r = (char)(c);
3893                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3800; // p.r = 56
3894                            closure_r(p, c);
3895                    }
3896            }
3897            if (    // szpr: INT_SHL(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
3898                    lchild.getOpcode() == INT_SHR_opcode && 
3899                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
3900                    rchild.getOpcode() == INT_CONSTANT_opcode 
3901            ) {
3902                    c = STATE(lchild.child1).cost_r + ((VR(p) == VLR(p)) ? 23 : INFINITE);
3903                    if (c < p.cost_szpr) {
3904                            p.cost_szpr = (char)(c);
3905                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0xA00000; // p.szpr = 5
3906                            closure_szpr(p, c);
3907                    }
3908            }
3909    }
3910    
3911    private void label_LONG_SHL(BURS_TreeNode p) {
3912            p.word0 = 0;
3913            p.initCost();
3914            BURS_TreeNode lchild, rchild;
3915            lchild = p.child1;
3916            rchild = p.child2;
3917            label(lchild);
3918            label(rchild);
3919            int c;
3920            // r: LONG_SHL(rlv,riv)
3921            c = STATE(lchild).cost_rlv + STATE(rchild).cost_riv + 20;
3922            if (c < p.cost_r) {
3923                    p.cost_r = (char)(c);
3924                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4600; // p.r = 70
3925                    closure_r(p, c);
3926            }
3927            if (    // r: LONG_SHL(rlv,INT_AND(riv,INT_CONSTANT))
3928                    rchild.getOpcode() == INT_AND_opcode && 
3929                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
3930            ) {
3931                    c = STATE(lchild).cost_rlv + STATE(rchild.child1).cost_riv + 20;
3932                    if (c < p.cost_r) {
3933                            p.cost_r = (char)(c);
3934                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x4700; // p.r = 71
3935                            closure_r(p, c);
3936                    }
3937            }
3938            if (    // r: LONG_SHL(INT_2LONG(r),INT_CONSTANT)
3939                    lchild.getOpcode() == INT_2LONG_opcode && 
3940                    rchild.getOpcode() == INT_CONSTANT_opcode 
3941            ) {
3942                    c = STATE(lchild.child1).cost_r + (VR(p) == 32 ? 23 : INFINITE);
3943                    if (c < p.cost_r) {
3944                            p.cost_r = (char)(c);
3945                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x5900; // p.r = 89
3946                            closure_r(p, c);
3947                    }
3948            }
3949            if (    // r: LONG_SHL(INT_2LONG(load64),INT_CONSTANT)
3950                    lchild.getOpcode() == INT_2LONG_opcode && 
3951                    rchild.getOpcode() == INT_CONSTANT_opcode 
3952            ) {
3953                    c = STATE(lchild.child1).cost_load64 + (VR(p) == 32 ? 23 : INFINITE);
3954                    if (c < p.cost_r) {
3955                            p.cost_r = (char)(c);
3956                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x5A00; // p.r = 90
3957                            closure_r(p, c);
3958                    }
3959            }
3960    }
3961    
3962    private void label_INT_SHR(BURS_TreeNode p) {
3963            p.word0 = 0;
3964            p.initCost();
3965            BURS_TreeNode lchild, rchild;
3966            lchild = p.child1;
3967            rchild = p.child2;
3968            label(lchild);
3969            label(rchild);
3970            int c;
3971            if (    // szpr: INT_SHR(riv,INT_AND(r,INT_CONSTANT))
3972                    rchild.getOpcode() == INT_AND_opcode && 
3973                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
3974            ) {
3975                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_r + (VRR(p) == 31 ? 23 : INFINITE);
3976                    if (c < p.cost_szpr) {
3977                            p.cost_szpr = (char)(c);
3978                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0xC00000; // p.szpr = 6
3979                            closure_szpr(p, c);
3980                    }
3981            }
3982            // szpr: INT_SHR(riv,riv)
3983            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 23;
3984            if (c < p.cost_szpr) {
3985                    p.cost_szpr = (char)(c);
3986                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0xE00000; // p.szpr = 7
3987                    closure_szpr(p, c);
3988            }
3989            if (    // szpr: INT_SHR(riv,INT_CONSTANT)
3990                    rchild.getOpcode() == INT_CONSTANT_opcode 
3991            ) {
3992                    c = STATE(lchild).cost_riv + 13;
3993                    if (c < p.cost_szpr) {
3994                            p.cost_szpr = (char)(c);
3995                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1000000; // p.szpr = 8
3996                            closure_szpr(p, c);
3997                    }
3998            }
3999    }
4000    
4001    private void label_LONG_SHR(BURS_TreeNode p) {
4002            p.word0 = 0;
4003            p.initCost();
4004            BURS_TreeNode lchild, rchild;
4005            lchild = p.child1;
4006            rchild = p.child2;
4007            label(lchild);
4008            label(rchild);
4009            int c;
4010            // r: LONG_SHR(rlv,riv)
4011            c = STATE(lchild).cost_rlv + STATE(rchild).cost_riv + 20;
4012            if (c < p.cost_r) {
4013                    p.cost_r = (char)(c);
4014                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4800; // p.r = 72
4015                    closure_r(p, c);
4016            }
4017            if (    // r: LONG_SHR(rlv,INT_AND(riv,INT_CONSTANT))
4018                    rchild.getOpcode() == INT_AND_opcode && 
4019                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4020            ) {
4021                    c = STATE(lchild).cost_rlv + STATE(rchild.child1).cost_riv + 20;
4022                    if (c < p.cost_r) {
4023                            p.cost_r = (char)(c);
4024                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x4900; // p.r = 73
4025                            closure_r(p, c);
4026                    }
4027            }
4028    }
4029    
4030    private void label_INT_USHR(BURS_TreeNode p) {
4031            p.word0 = 0;
4032            p.initCost();
4033            BURS_TreeNode lchild, rchild;
4034            lchild = p.child1;
4035            rchild = p.child2;
4036            label(lchild);
4037            label(rchild);
4038            int c;
4039            if (    // szpr: INT_USHR(riv,INT_AND(r,INT_CONSTANT))
4040                    rchild.getOpcode() == INT_AND_opcode && 
4041                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4042            ) {
4043                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_r + (VRR(p) == 31 ? 23 : INFINITE);
4044                    if (c < p.cost_szpr) {
4045                            p.cost_szpr = (char)(c);
4046                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1200000; // p.szpr = 9
4047                            closure_szpr(p, c);
4048                    }
4049            }
4050            // szpr: INT_USHR(riv,riv)
4051            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 23;
4052            if (c < p.cost_szpr) {
4053                    p.cost_szpr = (char)(c);
4054                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1400000; // p.szpr = 10
4055                    closure_szpr(p, c);
4056            }
4057            if (    // szpr: INT_USHR(riv,INT_CONSTANT)
4058                    rchild.getOpcode() == INT_CONSTANT_opcode 
4059            ) {
4060                    c = STATE(lchild).cost_riv + 13;
4061                    if (c < p.cost_szpr) {
4062                            p.cost_szpr = (char)(c);
4063                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1600000; // p.szpr = 11
4064                            closure_szpr(p, c);
4065                    }
4066            }
4067            if (    // r: INT_USHR(INT_SHL(load8_16_32,INT_CONSTANT),INT_CONSTANT)
4068                    lchild.getOpcode() == INT_SHL_opcode && 
4069                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4070                    rchild.getOpcode() == INT_CONSTANT_opcode 
4071            ) {
4072                    c = STATE(lchild.child1).cost_load8_16_32 + (VR(p) == 24 && VLLR(p) == 24 ? 15 : INFINITE);
4073                    if (c < p.cost_r) {
4074                            p.cost_r = (char)(c);
4075                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6D00; // p.r = 109
4076                            closure_r(p, c);
4077                    }
4078            }
4079            if (    // r: INT_USHR(INT_SHL(load16_32,INT_CONSTANT),INT_CONSTANT)
4080                    lchild.getOpcode() == INT_SHL_opcode && 
4081                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4082                    rchild.getOpcode() == INT_CONSTANT_opcode 
4083            ) {
4084                    c = STATE(lchild.child1).cost_load16_32 + (VR(p) == 16 && VLR(p) == 16 ? 15 : INFINITE);
4085                    if (c < p.cost_r) {
4086                            p.cost_r = (char)(c);
4087                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x7500; // p.r = 117
4088                            closure_r(p, c);
4089                    }
4090            }
4091    }
4092    
4093    private void label_LONG_USHR(BURS_TreeNode p) {
4094            p.word0 = 0;
4095            p.initCost();
4096            BURS_TreeNode lchild, rchild;
4097            lchild = p.child1;
4098            rchild = p.child2;
4099            label(lchild);
4100            label(rchild);
4101            int c;
4102            // r: LONG_USHR(rlv,riv)
4103            c = STATE(lchild).cost_rlv + STATE(rchild).cost_riv + 20;
4104            if (c < p.cost_r) {
4105                    p.cost_r = (char)(c);
4106                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4A00; // p.r = 74
4107                    closure_r(p, c);
4108            }
4109            if (    // r: LONG_USHR(rlv,INT_AND(riv,INT_CONSTANT))
4110                    rchild.getOpcode() == INT_AND_opcode && 
4111                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4112            ) {
4113                    c = STATE(lchild).cost_rlv + STATE(rchild.child1).cost_riv + 20;
4114                    if (c < p.cost_r) {
4115                            p.cost_r = (char)(c);
4116                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x4B00; // p.r = 75
4117                            closure_r(p, c);
4118                    }
4119            }
4120    }
4121    
4122    private void label_INT_AND(BURS_TreeNode p) {
4123            p.word0 = 0;
4124            p.initCost();
4125            BURS_TreeNode lchild, rchild;
4126            lchild = p.child1;
4127            rchild = p.child2;
4128            label(lchild);
4129            label(rchild);
4130            int c;
4131            // szpr: INT_AND(riv,riv)
4132            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 13;
4133            if (c < p.cost_szpr) {
4134                    p.cost_szpr = (char)(c);
4135                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1800000; // p.szpr = 12
4136                    closure_szpr(p, c);
4137            }
4138            // szp: INT_AND(r,riv)
4139            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 11;
4140            if (c < p.cost_szp) {
4141                    p.cost_szp = (char)(c);
4142                    p.word0 = (p.word0 & 0xE3FFFFFF) | 0x8000000; // p.szp = 2
4143            }
4144            // szpr: INT_AND(riv,load32)
4145            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
4146            if (c < p.cost_szpr) {
4147                    p.cost_szpr = (char)(c);
4148                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1A00000; // p.szpr = 13
4149                    closure_szpr(p, c);
4150            }
4151            // szpr: INT_AND(load32,riv)
4152            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
4153            if (c < p.cost_szpr) {
4154                    p.cost_szpr = (char)(c);
4155                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1C00000; // p.szpr = 14
4156                    closure_szpr(p, c);
4157            }
4158            // szp: INT_AND(load8_16_32,riv)
4159            c = STATE(lchild).cost_load8_16_32 + STATE(rchild).cost_riv + 11;
4160            if (c < p.cost_szp) {
4161                    p.cost_szp = (char)(c);
4162                    p.word0 = (p.word0 & 0xE3FFFFFF) | 0xC000000; // p.szp = 3
4163            }
4164            // szp: INT_AND(riv,load8_16_32)
4165            c = STATE(lchild).cost_riv + STATE(rchild).cost_load8_16_32 + 11;
4166            if (c < p.cost_szp) {
4167                    p.cost_szp = (char)(c);
4168                    p.word0 = (p.word0 & 0xE3FFFFFF) | 0x10000000; // p.szp = 4
4169            }
4170            if (    // uload8: INT_AND(load8_16_32,INT_CONSTANT)
4171                    rchild.getOpcode() == INT_CONSTANT_opcode 
4172            ) {
4173                    c = STATE(lchild).cost_load8_16_32 + (VR(p) == 0xff ? 0 : INFINITE);
4174                    if (c < p.cost_uload8) {
4175                            p.cost_uload8 = (char)(c);
4176                            p.word1 = (p.word1 & 0xFFFFFC7F) | 0x200; // p.uload8 = 4
4177                            closure_uload8(p, c);
4178                    }
4179            }
4180            if (    // r: INT_AND(load8_16_32,INT_CONSTANT)
4181                    rchild.getOpcode() == INT_CONSTANT_opcode 
4182            ) {
4183                    c = STATE(lchild).cost_load8_16_32 + (VR(p) == 0xff ? 15 : INFINITE);
4184                    if (c < p.cost_r) {
4185                            p.cost_r = (char)(c);
4186                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6B00; // p.r = 107
4187                            closure_r(p, c);
4188                    }
4189            }
4190            if (    // r: INT_AND(load16_32,INT_CONSTANT)
4191                    rchild.getOpcode() == INT_CONSTANT_opcode 
4192            ) {
4193                    c = STATE(lchild).cost_load16_32 + (VR(p) == 0xffff ? 15 : INFINITE);
4194                    if (c < p.cost_r) {
4195                            p.cost_r = (char)(c);
4196                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x7200; // p.r = 114
4197                            closure_r(p, c);
4198                    }
4199            }
4200            if (    // bittest: INT_AND(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
4201                    lchild.getOpcode() == INT_USHR_opcode && 
4202                    lchild.child2.getOpcode() == INT_AND_opcode && 
4203                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4204                    rchild.getOpcode() == INT_CONSTANT_opcode 
4205            ) {
4206                    c = STATE(lchild.child1).cost_r + STATE(lchild.child2.child1).cost_r + ((VR(p) == 1) && (VLRR(p) == 31) ? 13:INFINITE);
4207                    if (c < p.cost_bittest) {
4208                            p.cost_bittest = (char)(c);
4209                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x800; // p.bittest = 1
4210                    }
4211            }
4212            if (    // bittest: INT_AND(INT_USHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
4213                    lchild.getOpcode() == INT_USHR_opcode && 
4214                    lchild.child2.getOpcode() == INT_AND_opcode && 
4215                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4216                    rchild.getOpcode() == INT_CONSTANT_opcode 
4217            ) {
4218                    c = STATE(lchild.child1).cost_load32 + STATE(lchild.child2.child1).cost_r + (VR(p) == 1 ? 31:INFINITE);
4219                    if (c < p.cost_bittest) {
4220                            p.cost_bittest = (char)(c);
4221                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x1000; // p.bittest = 2
4222                    }
4223            }
4224            if (    // bittest: INT_AND(INT_USHR(r,INT_CONSTANT),INT_CONSTANT)
4225                    lchild.getOpcode() == INT_USHR_opcode && 
4226                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4227                    rchild.getOpcode() == INT_CONSTANT_opcode 
4228            ) {
4229                    c = STATE(lchild.child1).cost_r + ((VR(p) == 1) && (VLR(p) <= 31) ? 13:INFINITE);
4230                    if (c < p.cost_bittest) {
4231                            p.cost_bittest = (char)(c);
4232                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x1800; // p.bittest = 3
4233                    }
4234            }
4235            if (    // bittest: INT_AND(INT_SHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
4236                    lchild.getOpcode() == INT_SHR_opcode && 
4237                    lchild.child2.getOpcode() == INT_AND_opcode && 
4238                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4239                    rchild.getOpcode() == INT_CONSTANT_opcode 
4240            ) {
4241                    c = STATE(lchild.child1).cost_r + STATE(lchild.child2.child1).cost_r + ((VR(p) == 1) && (VLRR(p) == 31) ? 13:INFINITE);
4242                    if (c < p.cost_bittest) {
4243                            p.cost_bittest = (char)(c);
4244                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x2000; // p.bittest = 4
4245                    }
4246            }
4247            if (    // bittest: INT_AND(INT_SHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
4248                    lchild.getOpcode() == INT_SHR_opcode && 
4249                    lchild.child2.getOpcode() == INT_AND_opcode && 
4250                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4251                    rchild.getOpcode() == INT_CONSTANT_opcode 
4252            ) {
4253                    c = STATE(lchild.child1).cost_load32 + STATE(lchild.child2.child1).cost_r + (VR(p) == 1 ? 31:INFINITE);
4254                    if (c < p.cost_bittest) {
4255                            p.cost_bittest = (char)(c);
4256                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x2800; // p.bittest = 5
4257                    }
4258            }
4259            if (    // bittest: INT_AND(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
4260                    lchild.getOpcode() == INT_SHR_opcode && 
4261                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4262                    rchild.getOpcode() == INT_CONSTANT_opcode 
4263            ) {
4264                    c = STATE(lchild.child1).cost_r + ((VR(p) == 1) && (VLR(p) <= 31) ? 13:INFINITE);
4265                    if (c < p.cost_bittest) {
4266                            p.cost_bittest = (char)(c);
4267                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x3000; // p.bittest = 6
4268                    }
4269            }
4270            if (    // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(riv,INT_CONSTANT)),r)
4271                    lchild.getOpcode() == INT_SHL_opcode && 
4272                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
4273                    lchild.child2.getOpcode() == INT_AND_opcode && 
4274                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4275            ) {
4276                    c = STATE(lchild.child2.child1).cost_riv + STATE(rchild).cost_r + ((VLL(p) == 1) && (VLRR(p) == 31)? 13:INFINITE);
4277                    if (c < p.cost_bittest) {
4278                            p.cost_bittest = (char)(c);
4279                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x3800; // p.bittest = 7
4280                    }
4281            }
4282            if (    // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)),load32)
4283                    lchild.getOpcode() == INT_SHL_opcode && 
4284                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
4285                    lchild.child2.getOpcode() == INT_AND_opcode && 
4286                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4287            ) {
4288                    c = STATE(lchild.child2.child1).cost_r + STATE(rchild).cost_load32 + (VLL(p) == 1 ? 31:INFINITE);
4289                    if (c < p.cost_bittest) {
4290                            p.cost_bittest = (char)(c);
4291                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x4000; // p.bittest = 8
4292                    }
4293            }
4294            if (    // bittest: INT_AND(r,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
4295                    rchild.getOpcode() == INT_SHL_opcode && 
4296                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
4297                    rchild.child2.getOpcode() == INT_AND_opcode && 
4298                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4299            ) {
4300                    c = STATE(lchild).cost_r + STATE(rchild.child2.child1).cost_r + ((VRL(p) == 1) && (VRRR(p) == 31) ? 13:INFINITE);
4301                    if (c < p.cost_bittest) {
4302                            p.cost_bittest = (char)(c);
4303                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x4800; // p.bittest = 9
4304                    }
4305            }
4306            if (    // bittest: INT_AND(load32,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
4307                    rchild.getOpcode() == INT_SHL_opcode && 
4308                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
4309                    rchild.child2.getOpcode() == INT_AND_opcode && 
4310                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4311            ) {
4312                    c = STATE(lchild).cost_load32 + STATE(rchild.child2.child1).cost_r + (VRL(p) == 1 ? 31:INFINITE);
4313                    if (c < p.cost_bittest) {
4314                            p.cost_bittest = (char)(c);
4315                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x5000; // p.bittest = 10
4316                    }
4317            }
4318    }
4319    
4320    private void label_LONG_AND(BURS_TreeNode p) {
4321            p.word0 = 0;
4322            p.initCost();
4323            BURS_TreeNode lchild, rchild;
4324            lchild = p.child1;
4325            rchild = p.child2;
4326            label(lchild);
4327            label(rchild);
4328            int c;
4329            // r: LONG_AND(rlv,rlv)
4330            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 23;
4331            if (c < p.cost_r) {
4332                    p.cost_r = (char)(c);
4333                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4C00; // p.r = 76
4334                    closure_r(p, c);
4335            }
4336            if (    // r: LONG_AND(INT_2LONG(r),LONG_CONSTANT)
4337                    lchild.getOpcode() == INT_2LONG_opcode && 
4338                    rchild.getOpcode() == LONG_CONSTANT_opcode 
4339            ) {
4340                    c = STATE(lchild.child1).cost_r + ((Binary.getVal2(P(p)).asLongConstant().upper32() == 0) && (Binary.getVal2(P(p)).asLongConstant().lower32() == -1)? 23 : INFINITE);
4341                    if (c < p.cost_r) {
4342                            p.cost_r = (char)(c);
4343                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x5700; // p.r = 87
4344                            closure_r(p, c);
4345                    }
4346            }
4347            if (    // r: LONG_AND(INT_2LONG(load32),LONG_CONSTANT)
4348                    lchild.getOpcode() == INT_2LONG_opcode && 
4349                    rchild.getOpcode() == LONG_CONSTANT_opcode 
4350            ) {
4351                    c = STATE(lchild.child1).cost_load32 + ((Binary.getVal2(P(p)).asLongConstant().upper32() == 0) && (Binary.getVal2(P(p)).asLongConstant().lower32() == -1)? 28 : INFINITE);
4352                    if (c < p.cost_r) {
4353                            p.cost_r = (char)(c);
4354                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x5800; // p.r = 88
4355                            closure_r(p, c);
4356                    }
4357            }
4358    }
4359    
4360    private void label_INT_OR(BURS_TreeNode p) {
4361            p.word0 = 0;
4362            p.initCost();
4363            BURS_TreeNode lchild, rchild;
4364            lchild = p.child1;
4365            rchild = p.child2;
4366            label(lchild);
4367            label(rchild);
4368            int c;
4369            if (    // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
4370                    lchild.getOpcode() == INT_SHL_opcode && 
4371                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4372                    rchild.getOpcode() == INT_USHR_opcode && 
4373                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4374            ) {
4375                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_r + (Binary.getVal1(PL(p)).similar(Binary.getVal1(PR(p))) && ((-VLR(p)) & 0x1f) == (VRR(p)&0x1f) ? 13 : INFINITE);
4376                    if (c < p.cost_r) {
4377                            p.cost_r = (char)(c);
4378                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3900; // p.r = 57
4379                            closure_r(p, c);
4380                    }
4381            }
4382            if (    // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
4383                    lchild.getOpcode() == INT_USHR_opcode && 
4384                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4385                    rchild.getOpcode() == INT_SHL_opcode && 
4386                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4387            ) {
4388                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_r + (Binary.getVal1(PL(p)).similar(Binary.getVal1(PR(p))) && ((-VRR(p)) & 0x1f) == (VLR(p)&0x1f) ? 13 : INFINITE);
4389                    if (c < p.cost_r) {
4390                            p.cost_r = (char)(c);
4391                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3A00; // p.r = 58
4392                            closure_r(p, c);
4393                    }
4394            }
4395            if (    // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
4396                    lchild.getOpcode() == INT_SHL_opcode && 
4397                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4398                    rchild.getOpcode() == INT_USHR_opcode && 
4399                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4400            ) {
4401                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_r + (Binary.getVal1(PL(p)).similar(Binary.getVal1(PR(p))) && ((-VLR(p)) & 0x1f) == (VRR(p)&0x1f) && ((VLR(p)&0x1f) == 31) ? 11 : INFINITE);
4402                    if (c < p.cost_r) {
4403                            p.cost_r = (char)(c);
4404                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3B00; // p.r = 59
4405                            closure_r(p, c);
4406                    }
4407            }
4408            if (    // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
4409                    lchild.getOpcode() == INT_USHR_opcode && 
4410                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4411                    rchild.getOpcode() == INT_SHL_opcode && 
4412                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4413            ) {
4414                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_r + (Binary.getVal1(PL(p)).similar(Binary.getVal1(PR(p))) && ((-VRR(p)) & 0x1f) == (VLR(p)&0x1f) && ((VRR(p)&0x1f) == 31) ? 11 : INFINITE);
4415                    if (c < p.cost_r) {
4416                            p.cost_r = (char)(c);
4417                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3C00; // p.r = 60
4418                            closure_r(p, c);
4419                    }
4420            }
4421            if (    // r: INT_OR(INT_SHL(r,INT_AND(r,INT_CONSTANT)),INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
4422                    lchild.getOpcode() == INT_SHL_opcode && 
4423                    lchild.child2.getOpcode() == INT_AND_opcode && 
4424                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4425                    rchild.getOpcode() == INT_USHR_opcode && 
4426                    rchild.child2.getOpcode() == INT_AND_opcode && 
4427                    rchild.child2.child1.getOpcode() == INT_NEG_opcode && 
4428                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4429            ) {
4430                    c = STATE(lchild.child1).cost_r + STATE(lchild.child2.child1).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2.child1.child1).cost_r + (Binary.getVal1(PL(p)).similar(Binary.getVal1(PR(p))) && (VLRR(p) == 31) && (VRRR(p) == 31) && Binary.getVal1(PLR(p)).similar(Unary.getVal(PRRL(p))) ? 23 : INFINITE);
4431                    if (c < p.cost_r) {
4432                            p.cost_r = (char)(c);
4433                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3D00; // p.r = 61
4434                            closure_r(p, c);
4435                    }
4436            }
4437            if (    // r: INT_OR(INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_SHL(r,INT_AND(r,INT_CONSTANT)))
4438                    lchild.getOpcode() == INT_USHR_opcode && 
4439                    lchild.child2.getOpcode() == INT_AND_opcode && 
4440                    lchild.child2.child1.getOpcode() == INT_NEG_opcode && 
4441                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4442                    rchild.getOpcode() == INT_SHL_opcode && 
4443                    rchild.child2.getOpcode() == INT_AND_opcode && 
4444                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4445            ) {
4446                    c = STATE(lchild.child1).cost_r + STATE(lchild.child2.child1.child1).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2.child1).cost_r + (Binary.getVal1(PL(p)).similar(Binary.getVal1(PR(p))) && (VLRR(p) == 31) && (VRRR(p) == 31) && Binary.getVal1(PRR(p)).similar(Unary.getVal(PLRL(p))) ? 23 : INFINITE);
4447                    if (c < p.cost_r) {
4448                            p.cost_r = (char)(c);
4449                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3E00; // p.r = 62
4450                            closure_r(p, c);
4451                    }
4452            }
4453            if (    // r: INT_OR(INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_USHR(r,INT_AND(r,INT_CONSTANT)))
4454                    lchild.getOpcode() == INT_SHL_opcode && 
4455                    lchild.child2.getOpcode() == INT_AND_opcode && 
4456                    lchild.child2.child1.getOpcode() == INT_NEG_opcode && 
4457                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4458                    rchild.getOpcode() == INT_USHR_opcode && 
4459                    rchild.child2.getOpcode() == INT_AND_opcode && 
4460                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4461            ) {
4462                    c = STATE(lchild.child1).cost_r + STATE(lchild.child2.child1.child1).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2.child1).cost_r + (Binary.getVal1(PL(p)).similar(Binary.getVal1(PR(p))) && (VLRR(p) == 31) && (VRRR(p) == 31) && Binary.getVal1(PRR(p)).similar(Unary.getVal(PLRL(p))) ? 23 : INFINITE);
4463                    if (c < p.cost_r) {
4464                            p.cost_r = (char)(c);
4465                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3F00; // p.r = 63
4466                            closure_r(p, c);
4467                    }
4468            }
4469            if (    // r: INT_OR(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
4470                    lchild.getOpcode() == INT_USHR_opcode && 
4471                    lchild.child2.getOpcode() == INT_AND_opcode && 
4472                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4473                    rchild.getOpcode() == INT_SHL_opcode && 
4474                    rchild.child2.getOpcode() == INT_AND_opcode && 
4475                    rchild.child2.child1.getOpcode() == INT_NEG_opcode && 
4476                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4477            ) {
4478                    c = STATE(lchild.child1).cost_r + STATE(lchild.child2.child1).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2.child1.child1).cost_r + (Binary.getVal1(PL(p)).similar(Binary.getVal1(PR(p))) && (VLRR(p) == 31) && (VRRR(p) == 31) && Binary.getVal1(PLR(p)).similar(Unary.getVal(PRRL(p))) ? 23 : INFINITE);
4479                    if (c < p.cost_r) {
4480                            p.cost_r = (char)(c);
4481                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x4000; // p.r = 64
4482                            closure_r(p, c);
4483                    }
4484            }
4485            // szpr: INT_OR(riv,riv)
4486            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 13;
4487            if (c < p.cost_szpr) {
4488                    p.cost_szpr = (char)(c);
4489                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1E00000; // p.szpr = 15
4490                    closure_szpr(p, c);
4491            }
4492            // szpr: INT_OR(riv,load32)
4493            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
4494            if (c < p.cost_szpr) {
4495                    p.cost_szpr = (char)(c);
4496                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2000000; // p.szpr = 16
4497                    closure_szpr(p, c);
4498            }
4499            // szpr: INT_OR(load32,riv)
4500            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
4501            if (c < p.cost_szpr) {
4502                    p.cost_szpr = (char)(c);
4503                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2200000; // p.szpr = 17
4504                    closure_szpr(p, c);
4505            }
4506    }
4507    
4508    private void label_LONG_OR(BURS_TreeNode p) {
4509            p.word0 = 0;
4510            p.initCost();
4511            BURS_TreeNode lchild, rchild;
4512            lchild = p.child1;
4513            rchild = p.child2;
4514            label(lchild);
4515            label(rchild);
4516            int c;
4517            // r: LONG_OR(rlv,rlv)
4518            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 23;
4519            if (c < p.cost_r) {
4520                    p.cost_r = (char)(c);
4521                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4D00; // p.r = 77
4522                    closure_r(p, c);
4523            }
4524    }
4525    
4526    private void label_INT_XOR(BURS_TreeNode p) {
4527            p.word0 = 0;
4528            p.initCost();
4529            BURS_TreeNode lchild, rchild;
4530            lchild = p.child1;
4531            rchild = p.child2;
4532            label(lchild);
4533            label(rchild);
4534            int c;
4535            // szpr: INT_XOR(riv,riv)
4536            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 13;
4537            if (c < p.cost_szpr) {
4538                    p.cost_szpr = (char)(c);
4539                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2400000; // p.szpr = 18
4540                    closure_szpr(p, c);
4541            }
4542            // szpr: INT_XOR(riv,load32)
4543            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
4544            if (c < p.cost_szpr) {
4545                    p.cost_szpr = (char)(c);
4546                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2600000; // p.szpr = 19
4547                    closure_szpr(p, c);
4548            }
4549            // szpr: INT_XOR(load32,riv)
4550            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
4551            if (c < p.cost_szpr) {
4552                    p.cost_szpr = (char)(c);
4553                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2800000; // p.szpr = 20
4554                    closure_szpr(p, c);
4555            }
4556    }
4557    
4558    private void label_INT_NOT(BURS_TreeNode p) {
4559            p.word0 = 0;
4560            p.initCost();
4561            BURS_TreeNode lchild;
4562            lchild = p.child1;
4563            label(lchild);
4564            int c;
4565            // r: INT_NOT(r)
4566            c = STATE(lchild).cost_r + 13;
4567            if (c < p.cost_r) {
4568                    p.cost_r = (char)(c);
4569                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4100; // p.r = 65
4570                    closure_r(p, c);
4571            }
4572    }
4573    
4574    private void label_LONG_NOT(BURS_TreeNode p) {
4575            p.word0 = 0;
4576            p.initCost();
4577            BURS_TreeNode lchild;
4578            lchild = p.child1;
4579            label(lchild);
4580            int c;
4581            // r: LONG_NOT(r)
4582            c = STATE(lchild).cost_r + 23;
4583            if (c < p.cost_r) {
4584                    p.cost_r = (char)(c);
4585                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4F00; // p.r = 79
4586                    closure_r(p, c);
4587            }
4588    }
4589    
4590    private void label_LONG_XOR(BURS_TreeNode p) {
4591            p.word0 = 0;
4592            p.initCost();
4593            BURS_TreeNode lchild, rchild;
4594            lchild = p.child1;
4595            rchild = p.child2;
4596            label(lchild);
4597            label(rchild);
4598            int c;
4599            // r: LONG_XOR(r,rlv)
4600            c = STATE(lchild).cost_r + STATE(rchild).cost_rlv + 23;
4601            if (c < p.cost_r) {
4602                    p.cost_r = (char)(c);
4603                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4E00; // p.r = 78
4604                    closure_r(p, c);
4605            }
4606    }
4607    
4608    private void label_ADDR_2LONG(BURS_TreeNode p) {
4609            p.word0 = 0;
4610            p.initCost();
4611            BURS_TreeNode lchild;
4612            lchild = p.child1;
4613            label(lchild);
4614            int c;
4615            // r: ADDR_2LONG(r)
4616            c = STATE(lchild).cost_r + 33;
4617            if (c < p.cost_r) {
4618                    p.cost_r = (char)(c);
4619                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5B00; // p.r = 91
4620                    closure_r(p, c);
4621            }
4622            // r: ADDR_2LONG(load32)
4623            c = STATE(lchild).cost_load32 + 38;
4624            if (c < p.cost_r) {
4625                    p.cost_r = (char)(c);
4626                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5C00; // p.r = 92
4627                    closure_r(p, c);
4628            }
4629    }
4630    
4631    private void label_INT_2LONG(BURS_TreeNode p) {
4632            p.word0 = 0;
4633            p.initCost();
4634            BURS_TreeNode lchild;
4635            lchild = p.child1;
4636            label(lchild);
4637            int c;
4638            // r: INT_2LONG(r)
4639            c = STATE(lchild).cost_r + 33;
4640            if (c < p.cost_r) {
4641                    p.cost_r = (char)(c);
4642                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5500; // p.r = 85
4643                    closure_r(p, c);
4644            }
4645            // r: INT_2LONG(load32)
4646            c = STATE(lchild).cost_load32 + 38;
4647            if (c < p.cost_r) {
4648                    p.cost_r = (char)(c);
4649                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5600; // p.r = 86
4650                    closure_r(p, c);
4651            }
4652    }
4653    
4654    private void label_INT_2FLOAT(BURS_TreeNode p) {
4655            p.word0 = 0;
4656            p.initCost();
4657            BURS_TreeNode lchild;
4658            lchild = p.child1;
4659            label(lchild);
4660            int c;
4661            // r: INT_2FLOAT(riv)
4662            c = STATE(lchild).cost_riv + 13;
4663            if (c < p.cost_r) {
4664                    p.cost_r = (char)(c);
4665                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBA00; // p.r = 186
4666                    closure_r(p, c);
4667            }
4668            // r: INT_2FLOAT(load32)
4669            c = STATE(lchild).cost_load32 + 15;
4670            if (c < p.cost_r) {
4671                    p.cost_r = (char)(c);
4672                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBB00; // p.r = 187
4673                    closure_r(p, c);
4674            }
4675    }
4676    
4677    private void label_INT_2DOUBLE(BURS_TreeNode p) {
4678            p.word0 = 0;
4679            p.initCost();
4680            BURS_TreeNode lchild;
4681            lchild = p.child1;
4682            label(lchild);
4683            int c;
4684            // r: INT_2DOUBLE(riv)
4685            c = STATE(lchild).cost_riv + 13;
4686            if (c < p.cost_r) {
4687                    p.cost_r = (char)(c);
4688                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBC00; // p.r = 188
4689                    closure_r(p, c);
4690            }
4691            // r: INT_2DOUBLE(load32)
4692            c = STATE(lchild).cost_load32 + 15;
4693            if (c < p.cost_r) {
4694                    p.cost_r = (char)(c);
4695                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBD00; // p.r = 189
4696                    closure_r(p, c);
4697            }
4698    }
4699    
4700    private void label_LONG_2INT(BURS_TreeNode p) {
4701            p.word0 = 0;
4702            p.initCost();
4703            BURS_TreeNode lchild;
4704            lchild = p.child1;
4705            label(lchild);
4706            int c;
4707            // r: LONG_2INT(r)
4708            c = STATE(lchild).cost_r + 13;
4709            if (c < p.cost_r) {
4710                    p.cost_r = (char)(c);
4711                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5D00; // p.r = 93
4712                    closure_r(p, c);
4713            }
4714            // r: LONG_2INT(load64)
4715            c = STATE(lchild).cost_load64 + 15;
4716            if (c < p.cost_r) {
4717                    p.cost_r = (char)(c);
4718                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5E00; // p.r = 94
4719                    closure_r(p, c);
4720            }
4721            if (    // r: LONG_2INT(LONG_USHR(r,INT_CONSTANT))
4722                    lchild.getOpcode() == LONG_USHR_opcode && 
4723                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4724            ) {
4725                    c = STATE(lchild.child1).cost_r + (VLR(p) == 32 ? 13 : INFINITE);
4726                    if (c < p.cost_r) {
4727                            p.cost_r = (char)(c);
4728                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x5F00; // p.r = 95
4729                            closure_r(p, c);
4730                    }
4731            }
4732            if (    // r: LONG_2INT(LONG_SHR(r,INT_CONSTANT))
4733                    lchild.getOpcode() == LONG_SHR_opcode && 
4734                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4735            ) {
4736                    c = STATE(lchild.child1).cost_r + (VLR(p) == 32 ? 13 : INFINITE);
4737                    if (c < p.cost_r) {
4738                            p.cost_r = (char)(c);
4739                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6000; // p.r = 96
4740                            closure_r(p, c);
4741                    }
4742            }
4743            if (    // r: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
4744                    lchild.getOpcode() == LONG_USHR_opcode && 
4745                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4746            ) {
4747                    c = STATE(lchild.child1).cost_load64 + (VLR(p) == 32 ? 15 : INFINITE);
4748                    if (c < p.cost_r) {
4749                            p.cost_r = (char)(c);
4750                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6100; // p.r = 97
4751                            closure_r(p, c);
4752                    }
4753            }
4754            if (    // r: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
4755                    lchild.getOpcode() == LONG_SHR_opcode && 
4756                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4757            ) {
4758                    c = STATE(lchild.child1).cost_load64 + (VLR(p) == 32 ? 15 : INFINITE);
4759                    if (c < p.cost_r) {
4760                            p.cost_r = (char)(c);
4761                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6200; // p.r = 98
4762                            closure_r(p, c);
4763                    }
4764            }
4765            if (    // load32: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
4766                    lchild.getOpcode() == LONG_USHR_opcode && 
4767                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4768            ) {
4769                    c = STATE(lchild.child1).cost_load64 + (VLR(p) == 32 ? 0 : INFINITE);
4770                    if (c < p.cost_load32) {
4771                            p.cost_load32 = (char)(c);
4772                            p.word1 = (p.word1 & 0xFFE3FFFF) | 0xC0000; // p.load32 = 3
4773                            closure_load32(p, c);
4774                    }
4775            }
4776            if (    // load32: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
4777                    lchild.getOpcode() == LONG_SHR_opcode && 
4778                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4779            ) {
4780                    c = STATE(lchild.child1).cost_load64 + (VLR(p) == 32 ? 0 : INFINITE);
4781                    if (c < p.cost_load32) {
4782                            p.cost_load32 = (char)(c);
4783                            p.word1 = (p.word1 & 0xFFE3FFFF) | 0x100000; // p.load32 = 4
4784                            closure_load32(p, c);
4785                    }
4786            }
4787    }
4788    
4789    private void label_LONG_2FLOAT(BURS_TreeNode p) {
4790            p.word0 = 0;
4791            p.initCost();
4792            BURS_TreeNode lchild;
4793            lchild = p.child1;
4794            label(lchild);
4795            int c;
4796            // r: LONG_2FLOAT(r)
4797            c = STATE(lchild).cost_r + 13;
4798            if (c < p.cost_r) {
4799                    p.cost_r = (char)(c);
4800                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB200; // p.r = 178
4801                    closure_r(p, c);
4802            }
4803    }
4804    
4805    private void label_LONG_2DOUBLE(BURS_TreeNode p) {
4806            p.word0 = 0;
4807            p.initCost();
4808            BURS_TreeNode lchild;
4809            lchild = p.child1;
4810            label(lchild);
4811            int c;
4812            // r: LONG_2DOUBLE(r)
4813            c = STATE(lchild).cost_r + 13;
4814            if (c < p.cost_r) {
4815                    p.cost_r = (char)(c);
4816                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB300; // p.r = 179
4817                    closure_r(p, c);
4818            }
4819    }
4820    
4821    private void label_FLOAT_2INT(BURS_TreeNode p) {
4822            p.word0 = 0;
4823            p.initCost();
4824            BURS_TreeNode lchild;
4825            lchild = p.child1;
4826            label(lchild);
4827            int c;
4828            // r: FLOAT_2INT(r)
4829            c = STATE(lchild).cost_r + 13;
4830            if (c < p.cost_r) {
4831                    p.cost_r = (char)(c);
4832                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC200; // p.r = 194
4833                    closure_r(p, c);
4834            }
4835    }
4836    
4837    private void label_FLOAT_2LONG(BURS_TreeNode p) {
4838            p.word0 = 0;
4839            p.initCost();
4840            BURS_TreeNode lchild;
4841            lchild = p.child1;
4842            label(lchild);
4843            int c;
4844            // r: FLOAT_2LONG(r)
4845            c = STATE(lchild).cost_r + 13;
4846            if (c < p.cost_r) {
4847                    p.cost_r = (char)(c);
4848                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC300; // p.r = 195
4849                    closure_r(p, c);
4850            }
4851    }
4852    
4853    private void label_FLOAT_2DOUBLE(BURS_TreeNode p) {
4854            p.word0 = 0;
4855            p.initCost();
4856            BURS_TreeNode lchild;
4857            lchild = p.child1;
4858            label(lchild);
4859            int c;
4860            // r: FLOAT_2DOUBLE(r)
4861            c = STATE(lchild).cost_r + 13;
4862            if (c < p.cost_r) {
4863                    p.cost_r = (char)(c);
4864                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBE00; // p.r = 190
4865                    closure_r(p, c);
4866            }
4867            // r: FLOAT_2DOUBLE(float_load)
4868            c = STATE(lchild).cost_float_load + 15;
4869            if (c < p.cost_r) {
4870                    p.cost_r = (char)(c);
4871                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBF00; // p.r = 191
4872                    closure_r(p, c);
4873            }
4874    }
4875    
4876    private void label_DOUBLE_2INT(BURS_TreeNode p) {
4877            p.word0 = 0;
4878            p.initCost();
4879            BURS_TreeNode lchild;
4880            lchild = p.child1;
4881            label(lchild);
4882            int c;
4883            // r: DOUBLE_2INT(r)
4884            c = STATE(lchild).cost_r + 13;
4885            if (c < p.cost_r) {
4886                    p.cost_r = (char)(c);
4887                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC400; // p.r = 196
4888                    closure_r(p, c);
4889            }
4890    }
4891    
4892    private void label_DOUBLE_2LONG(BURS_TreeNode p) {
4893            p.word0 = 0;
4894            p.initCost();
4895            BURS_TreeNode lchild;
4896            lchild = p.child1;
4897            label(lchild);
4898            int c;
4899            // r: DOUBLE_2LONG(r)
4900            c = STATE(lchild).cost_r + 13;
4901            if (c < p.cost_r) {
4902                    p.cost_r = (char)(c);
4903                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC500; // p.r = 197
4904                    closure_r(p, c);
4905            }
4906    }
4907    
4908    private void label_DOUBLE_2FLOAT(BURS_TreeNode p) {
4909            p.word0 = 0;
4910            p.initCost();
4911            BURS_TreeNode lchild;
4912            lchild = p.child1;
4913            label(lchild);
4914            int c;
4915            // r: DOUBLE_2FLOAT(r)
4916            c = STATE(lchild).cost_r + 13;
4917            if (c < p.cost_r) {
4918                    p.cost_r = (char)(c);
4919                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC000; // p.r = 192
4920                    closure_r(p, c);
4921            }
4922            // r: DOUBLE_2FLOAT(double_load)
4923            c = STATE(lchild).cost_double_load + 15;
4924            if (c < p.cost_r) {
4925                    p.cost_r = (char)(c);
4926                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC100; // p.r = 193
4927                    closure_r(p, c);
4928            }
4929    }
4930    
4931    private void label_INT_2BYTE(BURS_TreeNode p) {
4932            p.word0 = 0;
4933            p.initCost();
4934            BURS_TreeNode lchild;
4935            lchild = p.child1;
4936            label(lchild);
4937            int c;
4938            // r: INT_2BYTE(r)
4939            c = STATE(lchild).cost_r + 15;
4940            if (c < p.cost_r) {
4941                    p.cost_r = (char)(c);
4942                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5000; // p.r = 80
4943                    closure_r(p, c);
4944            }
4945            // r: INT_2BYTE(load8_16_32)
4946            c = STATE(lchild).cost_load8_16_32 + 17;
4947            if (c < p.cost_r) {
4948                    p.cost_r = (char)(c);
4949                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5100; // p.r = 81
4950                    closure_r(p, c);
4951            }
4952            // r: INT_2BYTE(load8_16_32)
4953            c = STATE(lchild).cost_load8_16_32 + 20;
4954            if (c < p.cost_r) {
4955                    p.cost_r = (char)(c);
4956                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6C00; // p.r = 108
4957                    closure_r(p, c);
4958            }
4959    }
4960    
4961    private void label_INT_2USHORT(BURS_TreeNode p) {
4962            p.word0 = 0;
4963            p.initCost();
4964            BURS_TreeNode lchild;
4965            lchild = p.child1;
4966            label(lchild);
4967            int c;
4968            // szpr: INT_2USHORT(r)
4969            c = STATE(lchild).cost_r + 23;
4970            if (c < p.cost_szpr) {
4971                    p.cost_szpr = (char)(c);
4972                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2A00000; // p.szpr = 21
4973                    closure_szpr(p, c);
4974            }
4975            // r: INT_2USHORT(load16_32)
4976            c = STATE(lchild).cost_load16_32 + 25;
4977            if (c < p.cost_r) {
4978                    p.cost_r = (char)(c);
4979                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5200; // p.r = 82
4980                    closure_r(p, c);
4981            }
4982            // r: INT_2USHORT(load16_32)
4983            c = STATE(lchild).cost_load16_32 + 15;
4984            if (c < p.cost_r) {
4985                    p.cost_r = (char)(c);
4986                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7300; // p.r = 115
4987                    closure_r(p, c);
4988            }
4989            // r: INT_2USHORT(load16_32)
4990            c = STATE(lchild).cost_load16_32 + 20;
4991            if (c < p.cost_r) {
4992                    p.cost_r = (char)(c);
4993                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7400; // p.r = 116
4994                    closure_r(p, c);
4995            }
4996    }
4997    
4998    private void label_INT_2SHORT(BURS_TreeNode p) {
4999            p.word0 = 0;
5000            p.initCost();
5001            BURS_TreeNode lchild;
5002            lchild = p.child1;
5003            label(lchild);
5004            int c;
5005            // r: INT_2SHORT(r)
5006            c = STATE(lchild).cost_r + 15;
5007            if (c < p.cost_r) {
5008                    p.cost_r = (char)(c);
5009                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5300; // p.r = 83
5010                    closure_r(p, c);
5011            }
5012            // r: INT_2SHORT(load16_32)
5013            c = STATE(lchild).cost_load16_32 + 17;
5014            if (c < p.cost_r) {
5015                    p.cost_r = (char)(c);
5016                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5400; // p.r = 84
5017                    closure_r(p, c);
5018            }
5019    }
5020    
5021    private void label_LONG_CMP(BURS_TreeNode p) {
5022            p.word0 = 0;
5023            p.initCost();
5024            BURS_TreeNode lchild, rchild;
5025            lchild = p.child1;
5026            rchild = p.child2;
5027            label(lchild);
5028            label(rchild);
5029            int c;
5030            // r: LONG_CMP(rlv,rlv)
5031            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 10*13;
5032            if (c < p.cost_r) {
5033                    p.cost_r = (char)(c);
5034                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8F00; // p.r = 143
5035                    closure_r(p, c);
5036            }
5037    }
5038    
5039    private void label_RETURN(BURS_TreeNode p) {
5040            p.word0 = 0;
5041            p.initCost();
5042            BURS_TreeNode lchild;
5043            lchild = p.child1;
5044            label(lchild);
5045            int c;
5046            if (    // stm: RETURN(NULL)
5047                    lchild.getOpcode() == NULL_opcode 
5048            ) {
5049                    c = 13;
5050                    if (c < p.cost_stm) {
5051                            p.cost_stm = (char)(c);
5052                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x7B; // p.stm = 123
5053                    }
5054            }
5055            if (    // stm: RETURN(INT_CONSTANT)
5056                    lchild.getOpcode() == INT_CONSTANT_opcode 
5057            ) {
5058                    c = 11;
5059                    if (c < p.cost_stm) {
5060                            p.cost_stm = (char)(c);
5061                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x7C; // p.stm = 124
5062                    }
5063            }
5064            // stm: RETURN(r)
5065            c = STATE(lchild).cost_r + 13;
5066            if (c < p.cost_stm) {
5067                    p.cost_stm = (char)(c);
5068                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x7D; // p.stm = 125
5069            }
5070            if (    // stm: RETURN(LONG_CONSTANT)
5071                    lchild.getOpcode() == LONG_CONSTANT_opcode 
5072            ) {
5073                    c = 11;
5074                    if (c < p.cost_stm) {
5075                            p.cost_stm = (char)(c);
5076                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x7E; // p.stm = 126
5077                    }
5078            }
5079    }
5080    
5081    private void label_NULL_CHECK(BURS_TreeNode p) {
5082            p.word0 = 0;
5083            p.initCost();
5084            BURS_TreeNode lchild;
5085            lchild = p.child1;
5086            label(lchild);
5087            int c;
5088            // stm: NULL_CHECK(riv)
5089            c = STATE(lchild).cost_riv + 11;
5090            if (c < p.cost_stm) {
5091                    p.cost_stm = (char)(c);
5092                    p.word0 = (p.word0 & 0xFFFFFF00) | 0xB; // p.stm = 11
5093            }
5094    }
5095    
5096    private void label_GOTO(BURS_TreeNode p) {
5097            p.word0 = 0;
5098            p.initCost();
5099            // stm: GOTO
5100            if (11 < p.cost_stm) {
5101                    p.cost_stm = (char)(11);
5102                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x76; // p.stm = 118
5103            }
5104    }
5105    
5106    private void label_BOOLEAN_NOT(BURS_TreeNode p) {
5107            p.word0 = 0;
5108            p.initCost();
5109            BURS_TreeNode lchild;
5110            lchild = p.child1;
5111            label(lchild);
5112            int c;
5113            // r: BOOLEAN_NOT(r)
5114            c = STATE(lchild).cost_r + 13;
5115            if (c < p.cost_r) {
5116                    p.cost_r = (char)(c);
5117                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xD00; // p.r = 13
5118                    closure_r(p, c);
5119            }
5120    }
5121    
5122    private void label_BOOLEAN_CMP_INT(BURS_TreeNode p) {
5123            p.word0 = 0;
5124            p.initCost();
5125            BURS_TreeNode lchild, rchild;
5126            lchild = p.child1;
5127            rchild = p.child2;
5128            label(lchild);
5129            label(rchild);
5130            int c;
5131            // r: BOOLEAN_CMP_INT(r,riv)
5132            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 39;
5133            if (c < p.cost_r) {
5134                    p.cost_r = (char)(c);
5135                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xE00; // p.r = 14
5136                    closure_r(p, c);
5137            }
5138            // boolcmp: BOOLEAN_CMP_INT(r,riv)
5139            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 13;
5140            if (c < p.cost_boolcmp) {
5141                    p.cost_boolcmp = (char)(c);
5142                    p.word2 = (p.word2 & 0xFFFFF87F) | 0x80; // p.boolcmp = 1
5143            }
5144            if (    // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
5145                    rchild.getOpcode() == INT_CONSTANT_opcode 
5146            ) {
5147                    c = STATE(lchild).cost_r + (VR(p) == 0 && CMP_TO_TEST(BooleanCmp.getCond(P(p))) ? 37:INFINITE);
5148                    if (c < p.cost_r) {
5149                            p.cost_r = (char)(c);
5150                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xF00; // p.r = 15
5151                            closure_r(p, c);
5152                    }
5153            }
5154            if (    // boolcmp: BOOLEAN_CMP_INT(r,INT_CONSTANT)
5155                    rchild.getOpcode() == INT_CONSTANT_opcode 
5156            ) {
5157                    c = STATE(lchild).cost_r + (VR(p) == 0 && CMP_TO_TEST(BooleanCmp.getCond(P(p))) ? 11:INFINITE);
5158                    if (c < p.cost_boolcmp) {
5159                            p.cost_boolcmp = (char)(c);
5160                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x100; // p.boolcmp = 2
5161                    }
5162            }
5163            if (    // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
5164                    rchild.getOpcode() == INT_CONSTANT_opcode 
5165            ) {
5166                    c = STATE(lchild).cost_r + (VR(p) == 0 && BooleanCmp.getCond(P(p)).isLESS() ? 11 : INFINITE);
5167                    if (c < p.cost_r) {
5168                            p.cost_r = (char)(c);
5169                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1000; // p.r = 16
5170                            closure_r(p, c);
5171                    }
5172            }
5173            if (    // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
5174                    rchild.getOpcode() == INT_CONSTANT_opcode 
5175            ) {
5176                    c = STATE(lchild).cost_load32 + (VR(p) == 0 && BooleanCmp.getCond(P(p)).isLESS() ? 16 : INFINITE);
5177                    if (c < p.cost_r) {
5178                            p.cost_r = (char)(c);
5179                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1100; // p.r = 17
5180                            closure_r(p, c);
5181                    }
5182            }
5183            if (    // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
5184                    rchild.getOpcode() == INT_CONSTANT_opcode 
5185            ) {
5186                    c = STATE(lchild).cost_r + (VR(p) == 0 && BooleanCmp.getCond(P(p)).isGREATER_EQUAL() ? 22 : INFINITE);
5187                    if (c < p.cost_r) {
5188                            p.cost_r = (char)(c);
5189                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1200; // p.r = 18
5190                            closure_r(p, c);
5191                    }
5192            }
5193            if (    // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
5194                    rchild.getOpcode() == INT_CONSTANT_opcode 
5195            ) {
5196                    c = STATE(lchild).cost_load32 + (VR(p) == 0 && BooleanCmp.getCond(P(p)).isGREATER_EQUAL() ? 27 : INFINITE);
5197                    if (c < p.cost_r) {
5198                            p.cost_r = (char)(c);
5199                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1300; // p.r = 19
5200                            closure_r(p, c);
5201                    }
5202            }
5203            if (    // r: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
5204                    rchild.getOpcode() == INT_CONSTANT_opcode 
5205            ) {
5206                    c = STATE(lchild).cost_cz + isZERO(VR(p), 26);
5207                    if (c < p.cost_r) {
5208                            p.cost_r = (char)(c);
5209                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1400; // p.r = 20
5210                            closure_r(p, c);
5211                    }
5212            }
5213            if (    // boolcmp: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
5214                    rchild.getOpcode() == INT_CONSTANT_opcode 
5215            ) {
5216                    c = STATE(lchild).cost_cz + isZERO(VR(p), 0);
5217                    if (c < p.cost_boolcmp) {
5218                            p.cost_boolcmp = (char)(c);
5219                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x180; // p.boolcmp = 3
5220                    }
5221            }
5222            if (    // r: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
5223                    rchild.getOpcode() == INT_CONSTANT_opcode 
5224            ) {
5225                    c = STATE(lchild).cost_szp + (VR(p) == 0 && EQ_NE(BooleanCmp.getCond(P(p)))?26:INFINITE);
5226                    if (c < p.cost_r) {
5227                            p.cost_r = (char)(c);
5228                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1500; // p.r = 21
5229                            closure_r(p, c);
5230                    }
5231            }
5232            if (    // boolcmp: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
5233                    rchild.getOpcode() == INT_CONSTANT_opcode 
5234            ) {
5235                    c = STATE(lchild).cost_szp + (VR(p) == 0 && EQ_NE(BooleanCmp.getCond(P(p)))?0:INFINITE);
5236                    if (c < p.cost_boolcmp) {
5237                            p.cost_boolcmp = (char)(c);
5238                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x200; // p.boolcmp = 4
5239                    }
5240            }
5241            if (    // r: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
5242                    rchild.getOpcode() == INT_CONSTANT_opcode 
5243            ) {
5244                    c = STATE(lchild).cost_bittest + ((VR(p) == 0 || VR(p) == 1) && EQ_NE(BooleanCmp.getCond(P(p))) ? 26 : INFINITE);
5245                    if (c < p.cost_r) {
5246                            p.cost_r = (char)(c);
5247                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1600; // p.r = 22
5248                            closure_r(p, c);
5249                    }
5250            }
5251            if (    // boolcmp: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
5252                    rchild.getOpcode() == INT_CONSTANT_opcode 
5253            ) {
5254                    c = STATE(lchild).cost_bittest + ((VR(p) == 0 || VR(p) == 1) && EQ_NE(BooleanCmp.getCond(P(p))) ? 0 : INFINITE);
5255                    if (c < p.cost_boolcmp) {
5256                            p.cost_boolcmp = (char)(c);
5257                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x280; // p.boolcmp = 5
5258                    }
5259            }
5260            if (    // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
5261                    rchild.getOpcode() == INT_CONSTANT_opcode 
5262            ) {
5263                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 0 && BooleanCmp.getCond(P(p)).isNOT_EQUAL()) || (VR(p) == 1 && BooleanCmp.getCond(P(p)).isEQUAL()) ? 26 : INFINITE);
5264                    if (c < p.cost_r) {
5265                            p.cost_r = (char)(c);
5266                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1700; // p.r = 23
5267                            closure_r(p, c);
5268                    }
5269            }
5270            if (    // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
5271                    rchild.getOpcode() == INT_CONSTANT_opcode 
5272            ) {
5273                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 0 && BooleanCmp.getCond(P(p)).isNOT_EQUAL()) || (VR(p) == 1 && BooleanCmp.getCond(P(p)).isEQUAL()) ? 0 : INFINITE);
5274                    if (c < p.cost_boolcmp) {
5275                            p.cost_boolcmp = (char)(c);
5276                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x300; // p.boolcmp = 6
5277                    }
5278            }
5279            if (    // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
5280                    rchild.getOpcode() == INT_CONSTANT_opcode 
5281            ) {
5282                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 1 && BooleanCmp.getCond(P(p)).isNOT_EQUAL()) || (VR(p) == 0 && BooleanCmp.getCond(P(p)).isEQUAL()) ? 26 : INFINITE);
5283                    if (c < p.cost_r) {
5284                            p.cost_r = (char)(c);
5285                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1800; // p.r = 24
5286                            closure_r(p, c);
5287                    }
5288            }
5289            if (    // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
5290                    rchild.getOpcode() == INT_CONSTANT_opcode 
5291            ) {
5292                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 1 && BooleanCmp.getCond(P(p)).isNOT_EQUAL()) || (VR(p) == 0 && BooleanCmp.getCond(P(p)).isEQUAL()) ? 0 : INFINITE);
5293                    if (c < p.cost_boolcmp) {
5294                            p.cost_boolcmp = (char)(c);
5295                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x380; // p.boolcmp = 7
5296                    }
5297            }
5298            // r: BOOLEAN_CMP_INT(load32,riv)
5299            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 41;
5300            if (c < p.cost_r) {
5301                    p.cost_r = (char)(c);
5302                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x1900; // p.r = 25
5303                    closure_r(p, c);
5304            }
5305            // boolcmp: BOOLEAN_CMP_INT(load32,riv)
5306            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
5307            if (c < p.cost_boolcmp) {
5308                    p.cost_boolcmp = (char)(c);
5309                    p.word2 = (p.word2 & 0xFFFFF87F) | 0x400; // p.boolcmp = 8
5310            }
5311            // r: BOOLEAN_CMP_INT(r,load32)
5312            c = STATE(lchild).cost_r + STATE(rchild).cost_load32 + 41;
5313            if (c < p.cost_r) {
5314                    p.cost_r = (char)(c);
5315                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x1A00; // p.r = 26
5316                    closure_r(p, c);
5317            }
5318            // boolcmp: BOOLEAN_CMP_INT(riv,load32)
5319            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
5320            if (c < p.cost_boolcmp) {
5321                    p.cost_boolcmp = (char)(c);
5322                    p.word2 = (p.word2 & 0xFFFFF87F) | 0x480; // p.boolcmp = 9
5323            }
5324    }
5325    
5326    private void label_BOOLEAN_CMP_LONG(BURS_TreeNode p) {
5327            p.word0 = 0;
5328            p.initCost();
5329            BURS_TreeNode lchild, rchild;
5330            lchild = p.child1;
5331            rchild = p.child2;
5332            label(lchild);
5333            label(rchild);
5334            int c;
5335            // r: BOOLEAN_CMP_LONG(rlv,rlv)
5336            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 8*13;
5337            if (c < p.cost_r) {
5338                    p.cost_r = (char)(c);
5339                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x1B00; // p.r = 27
5340                    closure_r(p, c);
5341            }
5342            // boolcmp: BOOLEAN_CMP_LONG(rlv,rlv)
5343            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 11*13;
5344            if (c < p.cost_boolcmp) {
5345                    p.cost_boolcmp = (char)(c);
5346                    p.word2 = (p.word2 & 0xFFFFF87F) | 0x500; // p.boolcmp = 10
5347            }
5348    }
5349    
5350    private void label_BYTE_LOAD(BURS_TreeNode p) {
5351            p.word0 = 0;
5352            p.initCost();
5353            BURS_TreeNode lchild, rchild;
5354            lchild = p.child1;
5355            rchild = p.child2;
5356            label(lchild);
5357            label(rchild);
5358            int c;
5359            // sload8: BYTE_LOAD(riv,riv)
5360            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5361            if (c < p.cost_sload8) {
5362                    p.cost_sload8 = (char)(c);
5363                    p.word1 = (p.word1 & 0xFFFFFF9F) | 0x20; // p.sload8 = 1
5364                    closure_sload8(p, c);
5365            }
5366            // r: BYTE_LOAD(riv,riv)
5367            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 20;
5368            if (c < p.cost_r) {
5369                    p.cost_r = (char)(c);
5370                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6700; // p.r = 103
5371                    closure_r(p, c);
5372            }
5373    }
5374    
5375    private void label_UBYTE_LOAD(BURS_TreeNode p) {
5376            p.word0 = 0;
5377            p.initCost();
5378            BURS_TreeNode lchild, rchild;
5379            lchild = p.child1;
5380            rchild = p.child2;
5381            label(lchild);
5382            label(rchild);
5383            int c;
5384            // uload8: UBYTE_LOAD(riv,riv)
5385            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5386            if (c < p.cost_uload8) {
5387                    p.cost_uload8 = (char)(c);
5388                    p.word1 = (p.word1 & 0xFFFFFC7F) | 0x80; // p.uload8 = 1
5389                    closure_uload8(p, c);
5390            }
5391            // r: UBYTE_LOAD(riv,riv)
5392            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
5393            if (c < p.cost_r) {
5394                    p.cost_r = (char)(c);
5395                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6900; // p.r = 105
5396                    closure_r(p, c);
5397            }
5398    }
5399    
5400    private void label_SHORT_LOAD(BURS_TreeNode p) {
5401            p.word0 = 0;
5402            p.initCost();
5403            BURS_TreeNode lchild, rchild;
5404            lchild = p.child1;
5405            rchild = p.child2;
5406            label(lchild);
5407            label(rchild);
5408            int c;
5409            // sload16: SHORT_LOAD(riv,riv)
5410            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5411            if (c < p.cost_sload16) {
5412                    p.cost_sload16 = (char)(c);
5413                    p.word1 = (p.word1 & 0xFFFFCFFF) | 0x1000; // p.sload16 = 1
5414                    closure_sload16(p, c);
5415            }
5416            // r: SHORT_LOAD(riv,riv)
5417            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 20;
5418            if (c < p.cost_r) {
5419                    p.cost_r = (char)(c);
5420                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6E00; // p.r = 110
5421                    closure_r(p, c);
5422            }
5423    }
5424    
5425    private void label_USHORT_LOAD(BURS_TreeNode p) {
5426            p.word0 = 0;
5427            p.initCost();
5428            BURS_TreeNode lchild, rchild;
5429            lchild = p.child1;
5430            rchild = p.child2;
5431            label(lchild);
5432            label(rchild);
5433            int c;
5434            // uload16: USHORT_LOAD(riv,riv)
5435            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5436            if (c < p.cost_uload16) {
5437                    p.cost_uload16 = (char)(c);
5438                    p.word1 = (p.word1 & 0xFFFF3FFF) | 0x4000; // p.uload16 = 1
5439                    closure_uload16(p, c);
5440            }
5441            // r: USHORT_LOAD(riv,riv)
5442            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
5443            if (c < p.cost_r) {
5444                    p.cost_r = (char)(c);
5445                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7000; // p.r = 112
5446                    closure_r(p, c);
5447            }
5448    }
5449    
5450    private void label_INT_LOAD(BURS_TreeNode p) {
5451            p.word0 = 0;
5452            p.initCost();
5453            BURS_TreeNode lchild, rchild;
5454            lchild = p.child1;
5455            rchild = p.child2;
5456            label(lchild);
5457            label(rchild);
5458            int c;
5459            // load32: INT_LOAD(riv,riv)
5460            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5461            if (c < p.cost_load32) {
5462                    p.cost_load32 = (char)(c);
5463                    p.word1 = (p.word1 & 0xFFE3FFFF) | 0x40000; // p.load32 = 1
5464                    closure_load32(p, c);
5465            }
5466            // r: INT_LOAD(riv,riv)
5467            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
5468            if (c < p.cost_r) {
5469                    p.cost_r = (char)(c);
5470                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7600; // p.r = 118
5471                    closure_r(p, c);
5472            }
5473            // r: INT_LOAD(riv,address1scaledreg)
5474            c = STATE(lchild).cost_riv + STATE(rchild).cost_address1scaledreg + 15;
5475            if (c < p.cost_r) {
5476                    p.cost_r = (char)(c);
5477                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7700; // p.r = 119
5478                    closure_r(p, c);
5479            }
5480            // r: INT_LOAD(address1scaledreg,riv)
5481            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_riv + 15;
5482            if (c < p.cost_r) {
5483                    p.cost_r = (char)(c);
5484                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7800; // p.r = 120
5485                    closure_r(p, c);
5486            }
5487            // r: INT_LOAD(address1scaledreg,address1reg)
5488            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_address1reg + 15;
5489            if (c < p.cost_r) {
5490                    p.cost_r = (char)(c);
5491                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7900; // p.r = 121
5492                    closure_r(p, c);
5493            }
5494            // r: INT_LOAD(address1reg,address1scaledreg)
5495            c = STATE(lchild).cost_address1reg + STATE(rchild).cost_address1scaledreg + 15;
5496            if (c < p.cost_r) {
5497                    p.cost_r = (char)(c);
5498                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7A00; // p.r = 122
5499                    closure_r(p, c);
5500            }
5501            if (    // r: INT_LOAD(address,INT_CONSTANT)
5502                    rchild.getOpcode() == INT_CONSTANT_opcode 
5503            ) {
5504                    c = STATE(lchild).cost_address + 15;
5505                    if (c < p.cost_r) {
5506                            p.cost_r = (char)(c);
5507                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x7B00; // p.r = 123
5508                            closure_r(p, c);
5509                    }
5510            }
5511    }
5512    
5513    private void label_LONG_LOAD(BURS_TreeNode p) {
5514            p.word0 = 0;
5515            p.initCost();
5516            BURS_TreeNode lchild, rchild;
5517            lchild = p.child1;
5518            rchild = p.child2;
5519            label(lchild);
5520            label(rchild);
5521            int c;
5522            // load64: LONG_LOAD(riv,riv)
5523            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5524            if (c < p.cost_load64) {
5525                    p.cost_load64 = (char)(c);
5526                    p.word1 = (p.word1 & 0xF1FFFFFF) | 0x2000000; // p.load64 = 1
5527            }
5528            // r: LONG_LOAD(riv,riv)
5529            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 30;
5530            if (c < p.cost_r) {
5531                    p.cost_r = (char)(c);
5532                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7D00; // p.r = 125
5533                    closure_r(p, c);
5534            }
5535    }
5536    
5537    private void label_FLOAT_LOAD(BURS_TreeNode p) {
5538            p.word0 = 0;
5539            p.initCost();
5540            BURS_TreeNode lchild, rchild;
5541            lchild = p.child1;
5542            rchild = p.child2;
5543            label(lchild);
5544            label(rchild);
5545            int c;
5546            // r: FLOAT_LOAD(riv,riv)
5547            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
5548            if (c < p.cost_r) {
5549                    p.cost_r = (char)(c);
5550                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB800; // p.r = 184
5551                    closure_r(p, c);
5552            }
5553            // float_load: FLOAT_LOAD(riv,riv)
5554            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5555            if (c < p.cost_float_load) {
5556                    p.cost_float_load = (char)(c);
5557                    p.word2 = (p.word2 & 0xFFFC7FFF) | 0x8000; // p.float_load = 1
5558            }
5559    }
5560    
5561    private void label_DOUBLE_LOAD(BURS_TreeNode p) {
5562            p.word0 = 0;
5563            p.initCost();
5564            BURS_TreeNode lchild, rchild;
5565            lchild = p.child1;
5566            rchild = p.child2;
5567            label(lchild);
5568            label(rchild);
5569            int c;
5570            // r: DOUBLE_LOAD(riv,riv)
5571            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
5572            if (c < p.cost_r) {
5573                    p.cost_r = (char)(c);
5574                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB600; // p.r = 182
5575                    closure_r(p, c);
5576            }
5577            // double_load: DOUBLE_LOAD(riv,riv)
5578            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5579            if (c < p.cost_double_load) {
5580                    p.cost_double_load = (char)(c);
5581                    p.word2 = (p.word2 & 0xFFE3FFFF) | 0x40000; // p.double_load = 1
5582            }
5583    }
5584    
5585    private void label_BYTE_STORE(BURS_TreeNode p) {
5586            p.word0 = 0;
5587            p.initCost();
5588            BURS_TreeNode lchild, rchild;
5589            lchild = p.child1;
5590            rchild = p.child2;
5591            label(lchild);
5592            label(rchild);
5593            int c;
5594            if (    // stm: BYTE_STORE(BOOLEAN_NOT(UBYTE_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5595                    lchild.getOpcode() == BOOLEAN_NOT_opcode && 
5596                    lchild.child1.getOpcode() == UBYTE_LOAD_opcode && 
5597                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5598            ) {
5599                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5600                    if (c < p.cost_stm) {
5601                            p.cost_stm = (char)(c);
5602                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x14; // p.stm = 20
5603                    }
5604            }
5605            if (    // stm: BYTE_STORE(boolcmp,OTHER_OPERAND(riv,riv))
5606                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5607            ) {
5608                    c = STATE(lchild).cost_boolcmp + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5609                    if (c < p.cost_stm) {
5610                            p.cost_stm = (char)(c);
5611                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x16; // p.stm = 22
5612                    }
5613            }
5614            if (    // stm: BYTE_STORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
5615                    lchild.getOpcode() == INT_2BYTE_opcode && 
5616                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5617            ) {
5618                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5619                    if (c < p.cost_stm) {
5620                            p.cost_stm = (char)(c);
5621                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3C; // p.stm = 60
5622                    }
5623            }
5624            if (    // stm: BYTE_STORE(riv,OTHER_OPERAND(riv,riv))
5625                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5626            ) {
5627                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5628                    if (c < p.cost_stm) {
5629                            p.cost_stm = (char)(c);
5630                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x52; // p.stm = 82
5631                    }
5632            }
5633            if (    // stm: BYTE_STORE(load8,OTHER_OPERAND(riv,riv))
5634                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5635            ) {
5636                    c = STATE(lchild).cost_load8 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 25;
5637                    if (c < p.cost_stm) {
5638                            p.cost_stm = (char)(c);
5639                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x53; // p.stm = 83
5640                    }
5641            }
5642    }
5643    
5644    private void label_SHORT_STORE(BURS_TreeNode p) {
5645            p.word0 = 0;
5646            p.initCost();
5647            BURS_TreeNode lchild, rchild;
5648            lchild = p.child1;
5649            rchild = p.child2;
5650            label(lchild);
5651            label(rchild);
5652            int c;
5653            if (    // stm: SHORT_STORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
5654                    lchild.getOpcode() == INT_2USHORT_opcode && 
5655                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5656            ) {
5657                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5658                    if (c < p.cost_stm) {
5659                            p.cost_stm = (char)(c);
5660                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3E; // p.stm = 62
5661                    }
5662            }
5663            if (    // stm: SHORT_STORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
5664                    lchild.getOpcode() == INT_2SHORT_opcode && 
5665                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5666            ) {
5667                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5668                    if (c < p.cost_stm) {
5669                            p.cost_stm = (char)(c);
5670                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x40; // p.stm = 64
5671                    }
5672            }
5673            if (    // stm: SHORT_STORE(riv,OTHER_OPERAND(riv,riv))
5674                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5675            ) {
5676                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5677                    if (c < p.cost_stm) {
5678                            p.cost_stm = (char)(c);
5679                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x56; // p.stm = 86
5680                    }
5681            }
5682            if (    // stm: SHORT_STORE(load16,OTHER_OPERAND(riv,riv))
5683                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5684            ) {
5685                    c = STATE(lchild).cost_load16 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 25;
5686                    if (c < p.cost_stm) {
5687                            p.cost_stm = (char)(c);
5688                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x57; // p.stm = 87
5689                    }
5690            }
5691    }
5692    
5693    private void label_INT_STORE(BURS_TreeNode p) {
5694            p.word0 = 0;
5695            p.initCost();
5696            BURS_TreeNode lchild, rchild;
5697            lchild = p.child1;
5698            rchild = p.child2;
5699            label(lchild);
5700            label(rchild);
5701            int c;
5702            if (    // stm: INT_STORE(INT_ADD(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
5703                    lchild.getOpcode() == INT_ADD_opcode && 
5704                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5705                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5706            ) {
5707                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5708                    if (c < p.cost_stm) {
5709                            p.cost_stm = (char)(c);
5710                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x18; // p.stm = 24
5711                    }
5712            }
5713            if (    // stm: INT_STORE(INT_ADD(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5714                    lchild.getOpcode() == INT_ADD_opcode && 
5715                    lchild.child2.getOpcode() == INT_LOAD_opcode && 
5716                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5717            ) {
5718                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLR(p), 17);
5719                    if (c < p.cost_stm) {
5720                            p.cost_stm = (char)(c);
5721                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x19; // p.stm = 25
5722                    }
5723            }
5724            if (    // stm: INT_STORE(INT_SUB(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
5725                    lchild.getOpcode() == INT_SUB_opcode && 
5726                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5727                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5728            ) {
5729                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5730                    if (c < p.cost_stm) {
5731                            p.cost_stm = (char)(c);
5732                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1C; // p.stm = 28
5733                    }
5734            }
5735            if (    // stm: INT_STORE(INT_SUB(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5736                    lchild.getOpcode() == INT_SUB_opcode && 
5737                    lchild.child2.getOpcode() == INT_LOAD_opcode && 
5738                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5739            ) {
5740                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLR(p), 27);
5741                    if (c < p.cost_stm) {
5742                            p.cost_stm = (char)(c);
5743                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1D; // p.stm = 29
5744                    }
5745            }
5746            if (    // stm: INT_STORE(INT_NEG(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5747                    lchild.getOpcode() == INT_NEG_opcode && 
5748                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5749                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5750            ) {
5751                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5752                    if (c < p.cost_stm) {
5753                            p.cost_stm = (char)(c);
5754                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x20; // p.stm = 32
5755                    }
5756            }
5757            if (    // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
5758                    lchild.getOpcode() == INT_SHL_opcode && 
5759                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5760                    lchild.child2.getOpcode() == INT_AND_opcode && 
5761                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
5762                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5763            ) {
5764                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + (ADDRESS_EQUAL(P(p), PLL(p), VLRR(p) == 31 ? 27 : INFINITE));
5765                    if (c < p.cost_stm) {
5766                            p.cost_stm = (char)(c);
5767                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x22; // p.stm = 34
5768                    }
5769            }
5770            if (    // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
5771                    lchild.getOpcode() == INT_SHL_opcode && 
5772                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5773                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
5774                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5775            ) {
5776                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5777                    if (c < p.cost_stm) {
5778                            p.cost_stm = (char)(c);
5779                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x23; // p.stm = 35
5780                    }
5781            }
5782            if (    // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
5783                    lchild.getOpcode() == INT_SHR_opcode && 
5784                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5785                    lchild.child2.getOpcode() == INT_AND_opcode && 
5786                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
5787                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5788            ) {
5789                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + (ADDRESS_EQUAL(P(p), PLL(p), VLRR(p) == 31 ? 27 : INFINITE));
5790                    if (c < p.cost_stm) {
5791                            p.cost_stm = (char)(c);
5792                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x26; // p.stm = 38
5793                    }
5794            }
5795            if (    // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
5796                    lchild.getOpcode() == INT_SHR_opcode && 
5797                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5798                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
5799                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5800            ) {
5801                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5802                    if (c < p.cost_stm) {
5803                            p.cost_stm = (char)(c);
5804                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x27; // p.stm = 39
5805                    }
5806            }
5807            if (    // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
5808                    lchild.getOpcode() == INT_USHR_opcode && 
5809                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5810                    lchild.child2.getOpcode() == INT_AND_opcode && 
5811                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
5812                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5813            ) {
5814                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + (ADDRESS_EQUAL(P(p), PLL(p), VLRR(p) == 31 ? 27 : INFINITE));
5815                    if (c < p.cost_stm) {
5816                            p.cost_stm = (char)(c);
5817                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2A; // p.stm = 42
5818                    }
5819            }
5820            if (    // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
5821                    lchild.getOpcode() == INT_USHR_opcode && 
5822                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5823                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
5824                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5825            ) {
5826                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5827                    if (c < p.cost_stm) {
5828                            p.cost_stm = (char)(c);
5829                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2B; // p.stm = 43
5830                    }
5831            }
5832            if (    // stm: INT_STORE(INT_AND(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
5833                    lchild.getOpcode() == INT_AND_opcode && 
5834                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5835                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5836            ) {
5837                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5838                    if (c < p.cost_stm) {
5839                            p.cost_stm = (char)(c);
5840                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2E; // p.stm = 46
5841                    }
5842            }
5843            if (    // stm: INT_STORE(INT_AND(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5844                    lchild.getOpcode() == INT_AND_opcode && 
5845                    lchild.child2.getOpcode() == INT_LOAD_opcode && 
5846                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5847            ) {
5848                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLR(p), 17);
5849                    if (c < p.cost_stm) {
5850                            p.cost_stm = (char)(c);
5851                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2F; // p.stm = 47
5852                    }
5853            }
5854            if (    // stm: INT_STORE(INT_OR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
5855                    lchild.getOpcode() == INT_OR_opcode && 
5856                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5857                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5858            ) {
5859                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5860                    if (c < p.cost_stm) {
5861                            p.cost_stm = (char)(c);
5862                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x32; // p.stm = 50
5863                    }
5864            }
5865            if (    // stm: INT_STORE(INT_OR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5866                    lchild.getOpcode() == INT_OR_opcode && 
5867                    lchild.child2.getOpcode() == INT_LOAD_opcode && 
5868                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5869            ) {
5870                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLR(p), 17);
5871                    if (c < p.cost_stm) {
5872                            p.cost_stm = (char)(c);
5873                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x33; // p.stm = 51
5874                    }
5875            }
5876            if (    // stm: INT_STORE(INT_XOR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
5877                    lchild.getOpcode() == INT_XOR_opcode && 
5878                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5879                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5880            ) {
5881                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5882                    if (c < p.cost_stm) {
5883                            p.cost_stm = (char)(c);
5884                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x36; // p.stm = 54
5885                    }
5886            }
5887            if (    // stm: INT_STORE(INT_XOR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5888                    lchild.getOpcode() == INT_XOR_opcode && 
5889                    lchild.child2.getOpcode() == INT_LOAD_opcode && 
5890                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5891            ) {
5892                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2.child1).cost_riv + STATE(lchild.child2.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLR(p), 17);
5893                    if (c < p.cost_stm) {
5894                            p.cost_stm = (char)(c);
5895                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x37; // p.stm = 55
5896                    }
5897            }
5898            if (    // stm: INT_STORE(INT_NOT(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5899                    lchild.getOpcode() == INT_NOT_opcode && 
5900                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5901                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5902            ) {
5903                    c = STATE(lchild.child1.child1).cost_riv + STATE(lchild.child1.child2).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + ADDRESS_EQUAL(P(p), PLL(p), 17);
5904                    if (c < p.cost_stm) {
5905                            p.cost_stm = (char)(c);
5906                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3A; // p.stm = 58
5907                    }
5908            }
5909            if (    // stm: INT_STORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
5910                    lchild.getOpcode() == LONG_2INT_opcode && 
5911                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5912            ) {
5913                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5914                    if (c < p.cost_stm) {
5915                            p.cost_stm = (char)(c);
5916                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x42; // p.stm = 66
5917                    }
5918            }
5919            if (    // stm: INT_STORE(riv,OTHER_OPERAND(riv,riv))
5920                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5921            ) {
5922                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5923                    if (c < p.cost_stm) {
5924                            p.cost_stm = (char)(c);
5925                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5A; // p.stm = 90
5926                    }
5927            }
5928            if (    // stm: INT_STORE(riv,OTHER_OPERAND(riv,address1scaledreg))
5929                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5930            ) {
5931                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_address1scaledreg + 15;
5932                    if (c < p.cost_stm) {
5933                            p.cost_stm = (char)(c);
5934                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5B; // p.stm = 91
5935                    }
5936            }
5937            if (    // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,riv))
5938                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5939            ) {
5940                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_address1scaledreg + STATE(rchild.child2).cost_riv + 15;
5941                    if (c < p.cost_stm) {
5942                            p.cost_stm = (char)(c);
5943                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5C; // p.stm = 92
5944                    }
5945            }
5946            if (    // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,address1reg))
5947                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5948            ) {
5949                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_address1scaledreg + STATE(rchild.child2).cost_address1reg + 15;
5950                    if (c < p.cost_stm) {
5951                            p.cost_stm = (char)(c);
5952                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5D; // p.stm = 93
5953                    }
5954            }
5955            if (    // stm: INT_STORE(riv,OTHER_OPERAND(address1reg,address1scaledreg))
5956                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5957            ) {
5958                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_address1reg + STATE(rchild.child2).cost_address1scaledreg + 15;
5959                    if (c < p.cost_stm) {
5960                            p.cost_stm = (char)(c);
5961                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5E; // p.stm = 94
5962                    }
5963            }
5964            if (    // stm: INT_STORE(riv,OTHER_OPERAND(address,INT_CONSTANT))
5965                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
5966                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
5967            ) {
5968                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_address + 15;
5969                    if (c < p.cost_stm) {
5970                            p.cost_stm = (char)(c);
5971                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5F; // p.stm = 95
5972                    }
5973            }
5974    }
5975    
5976    private void label_LONG_STORE(BURS_TreeNode p) {
5977            p.word0 = 0;
5978            p.initCost();
5979            BURS_TreeNode lchild, rchild;
5980            lchild = p.child1;
5981            rchild = p.child2;
5982            label(lchild);
5983            label(rchild);
5984            int c;
5985            if (    // stm: LONG_STORE(r,OTHER_OPERAND(riv,riv))
5986                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5987            ) {
5988                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 30;
5989                    if (c < p.cost_stm) {
5990                            p.cost_stm = (char)(c);
5991                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x61; // p.stm = 97
5992                    }
5993            }
5994            if (    // stm: LONG_STORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
5995                    lchild.getOpcode() == LONG_CONSTANT_opcode && 
5996                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5997            ) {
5998                    c = STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 26;
5999                    if (c < p.cost_stm) {
6000                            p.cost_stm = (char)(c);
6001                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x62; // p.stm = 98
6002                    }
6003            }
6004            if (    // stm: LONG_STORE(load64,OTHER_OPERAND(riv,riv))
6005                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6006            ) {
6007                    c = STATE(lchild).cost_load64 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 32;
6008                    if (c < p.cost_stm) {
6009                            p.cost_stm = (char)(c);
6010                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x8C; // p.stm = 140
6011                    }
6012            }
6013    }
6014    
6015    private void label_FLOAT_STORE(BURS_TreeNode p) {
6016            p.word0 = 0;
6017            p.initCost();
6018            BURS_TreeNode lchild, rchild;
6019            lchild = p.child1;
6020            rchild = p.child2;
6021            label(lchild);
6022            label(rchild);
6023            int c;
6024            if (    // stm: FLOAT_STORE(r,OTHER_OPERAND(riv,riv))
6025                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6026            ) {
6027                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 17;
6028                    if (c < p.cost_stm) {
6029                            p.cost_stm = (char)(c);
6030                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x82; // p.stm = 130
6031                    }
6032            }
6033    }
6034    
6035    private void label_DOUBLE_STORE(BURS_TreeNode p) {
6036            p.word0 = 0;
6037            p.initCost();
6038            BURS_TreeNode lchild, rchild;
6039            lchild = p.child1;
6040            rchild = p.child2;
6041            label(lchild);
6042            label(rchild);
6043            int c;
6044            if (    // stm: DOUBLE_STORE(r,OTHER_OPERAND(riv,riv))
6045                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6046            ) {
6047                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 17;
6048                    if (c < p.cost_stm) {
6049                            p.cost_stm = (char)(c);
6050                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x80; // p.stm = 128
6051                    }
6052            }
6053    }
6054    
6055    private void label_PREPARE_INT(BURS_TreeNode p) {
6056            p.word0 = 0;
6057            p.initCost();
6058            BURS_TreeNode lchild, rchild;
6059            lchild = p.child1;
6060            rchild = p.child2;
6061            label(lchild);
6062            label(rchild);
6063            int c;
6064            // r: PREPARE_INT(riv,riv)
6065            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
6066            if (c < p.cost_r) {
6067                    p.cost_r = (char)(c);
6068                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7F00; // p.r = 127
6069                    closure_r(p, c);
6070            }
6071            // r: PREPARE_INT(r,address1scaledreg)
6072            c = STATE(lchild).cost_r + STATE(rchild).cost_address1scaledreg + 15;
6073            if (c < p.cost_r) {
6074                    p.cost_r = (char)(c);
6075                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8000; // p.r = 128
6076                    closure_r(p, c);
6077            }
6078            // r: PREPARE_INT(address1scaledreg,r)
6079            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_r + 15;
6080            if (c < p.cost_r) {
6081                    p.cost_r = (char)(c);
6082                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8100; // p.r = 129
6083                    closure_r(p, c);
6084            }
6085            // r: PREPARE_INT(address1scaledreg,address1reg)
6086            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_address1reg + 15;
6087            if (c < p.cost_r) {
6088                    p.cost_r = (char)(c);
6089                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8200; // p.r = 130
6090                    closure_r(p, c);
6091            }
6092            // r: PREPARE_INT(address1reg,address1scaledreg)
6093            c = STATE(lchild).cost_address1reg + STATE(rchild).cost_address1scaledreg + 15;
6094            if (c < p.cost_r) {
6095                    p.cost_r = (char)(c);
6096                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8300; // p.r = 131
6097                    closure_r(p, c);
6098            }
6099            if (    // r: PREPARE_INT(address,INT_CONSTANT)
6100                    rchild.getOpcode() == INT_CONSTANT_opcode 
6101            ) {
6102                    c = STATE(lchild).cost_address + 15;
6103                    if (c < p.cost_r) {
6104                            p.cost_r = (char)(c);
6105                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8400; // p.r = 132
6106                            closure_r(p, c);
6107                    }
6108            }
6109            if (    // r: PREPARE_INT(INT_CONSTANT,address)
6110                    lchild.getOpcode() == INT_CONSTANT_opcode 
6111            ) {
6112                    c = STATE(rchild).cost_address + 15;
6113                    if (c < p.cost_r) {
6114                            p.cost_r = (char)(c);
6115                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8500; // p.r = 133
6116                            closure_r(p, c);
6117                    }
6118            }
6119    }
6120    
6121    private void label_PREPARE_LONG(BURS_TreeNode p) {
6122            p.word0 = 0;
6123            p.initCost();
6124            BURS_TreeNode lchild, rchild;
6125            lchild = p.child1;
6126            rchild = p.child2;
6127            label(lchild);
6128            label(rchild);
6129            int c;
6130            // r: PREPARE_LONG(riv,riv)
6131            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 30;
6132            if (c < p.cost_r) {
6133                    p.cost_r = (char)(c);
6134                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8600; // p.r = 134
6135                    closure_r(p, c);
6136            }
6137    }
6138    
6139    private void label_ATTEMPT_INT(BURS_TreeNode p) {
6140            p.word0 = 0;
6141            p.initCost();
6142            BURS_TreeNode lchild, rchild;
6143            lchild = p.child1;
6144            rchild = p.child2;
6145            label(lchild);
6146            label(rchild);
6147            int c;
6148            if (    // r: ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv)))
6149                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6150                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6151            ) {
6152                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6153                    if (c < p.cost_r) {
6154                            p.cost_r = (char)(c);
6155                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8700; // p.r = 135
6156                            closure_r(p, c);
6157                    }
6158            }
6159            if (    // r: ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
6160                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6161                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6162            ) {
6163                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_address1scaledreg + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6164                    if (c < p.cost_r) {
6165                            p.cost_r = (char)(c);
6166                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8800; // p.r = 136
6167                            closure_r(p, c);
6168                    }
6169            }
6170            if (    // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv)))
6171                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6172                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6173            ) {
6174                    c = STATE(lchild).cost_address1scaledreg + STATE(rchild.child1).cost_r + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6175                    if (c < p.cost_r) {
6176                            p.cost_r = (char)(c);
6177                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8900; // p.r = 137
6178                            closure_r(p, c);
6179                    }
6180            }
6181            if (    // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv)))
6182                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6183                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6184            ) {
6185                    c = STATE(lchild).cost_address1scaledreg + STATE(rchild.child1).cost_address1reg + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6186                    if (c < p.cost_r) {
6187                            p.cost_r = (char)(c);
6188                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8A00; // p.r = 138
6189                            closure_r(p, c);
6190                    }
6191            }
6192            if (    // r: ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
6193                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6194                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6195            ) {
6196                    c = STATE(lchild).cost_address1reg + STATE(rchild.child1).cost_address1scaledreg + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6197                    if (c < p.cost_r) {
6198                            p.cost_r = (char)(c);
6199                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8B00; // p.r = 139
6200                            closure_r(p, c);
6201                    }
6202            }
6203            if (    // r: ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv)))
6204                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6205                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
6206                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6207            ) {
6208                    c = STATE(lchild).cost_address + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6209                    if (c < p.cost_r) {
6210                            p.cost_r = (char)(c);
6211                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8C00; // p.r = 140
6212                            closure_r(p, c);
6213                    }
6214            }
6215            if (    // r: ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv)))
6216                    lchild.getOpcode() == INT_CONSTANT_opcode && 
6217                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6218                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6219            ) {
6220                    c = STATE(rchild.child1).cost_address + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6221                    if (c < p.cost_r) {
6222                            p.cost_r = (char)(c);
6223                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8D00; // p.r = 141
6224                            closure_r(p, c);
6225                    }
6226            }
6227    }
6228    
6229    private void label_ATTEMPT_LONG(BURS_TreeNode p) {
6230            p.word0 = 0;
6231            p.initCost();
6232            BURS_TreeNode lchild, rchild;
6233            lchild = p.child1;
6234            rchild = p.child2;
6235            label(lchild);
6236            label(rchild);
6237            int c;
6238            if (    // r: ATTEMPT_LONG(riv,OTHER_OPERAND(riv,OTHER_OPERAND(rlv,rlv)))
6239                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6240                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6241            ) {
6242                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2.child1).cost_rlv + STATE(rchild.child2.child2).cost_rlv + 67;
6243                    if (c < p.cost_r) {
6244                            p.cost_r = (char)(c);
6245                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8E00; // p.r = 142
6246                            closure_r(p, c);
6247                    }
6248            }
6249    }
6250    
6251    private void label_CALL(BURS_TreeNode p) {
6252            p.word0 = 0;
6253            p.initCost();
6254            BURS_TreeNode lchild, rchild;
6255            lchild = p.child1;
6256            rchild = p.child2;
6257            label(lchild);
6258            label(rchild);
6259            int c;
6260            // r: CALL(r,any)
6261            c = STATE(lchild).cost_r + STATE(rchild).cost_any + 13;
6262            if (c < p.cost_r) {
6263                    p.cost_r = (char)(c);
6264                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9000; // p.r = 144
6265                    closure_r(p, c);
6266            }
6267            if (    // r: CALL(BRANCH_TARGET,any)
6268                    lchild.getOpcode() == BRANCH_TARGET_opcode 
6269            ) {
6270                    c = STATE(rchild).cost_any + 13;
6271                    if (c < p.cost_r) {
6272                            p.cost_r = (char)(c);
6273                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x9100; // p.r = 145
6274                            closure_r(p, c);
6275                    }
6276            }
6277            if (    // r: CALL(INT_LOAD(riv,riv),any)
6278                    lchild.getOpcode() == INT_LOAD_opcode 
6279            ) {
6280                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild).cost_any + 11;
6281                    if (c < p.cost_r) {
6282                            p.cost_r = (char)(c);
6283                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x9200; // p.r = 146
6284                            closure_r(p, c);
6285                    }
6286            }
6287            if (    // r: CALL(INT_CONSTANT,any)
6288                    lchild.getOpcode() == INT_CONSTANT_opcode 
6289            ) {
6290                    c = STATE(rchild).cost_any + 23;
6291                    if (c < p.cost_r) {
6292                            p.cost_r = (char)(c);
6293                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x9300; // p.r = 147
6294                            closure_r(p, c);
6295                    }
6296            }
6297    }
6298    
6299    private void label_SYSCALL(BURS_TreeNode p) {
6300            p.word0 = 0;
6301            p.initCost();
6302            BURS_TreeNode lchild, rchild;
6303            lchild = p.child1;
6304            rchild = p.child2;
6305            label(lchild);
6306            label(rchild);
6307            int c;
6308            // r: SYSCALL(r,any)
6309            c = STATE(lchild).cost_r + STATE(rchild).cost_any + 13;
6310            if (c < p.cost_r) {
6311                    p.cost_r = (char)(c);
6312                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9400; // p.r = 148
6313                    closure_r(p, c);
6314            }
6315            if (    // r: SYSCALL(INT_LOAD(riv,riv),any)
6316                    lchild.getOpcode() == INT_LOAD_opcode 
6317            ) {
6318                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild).cost_any + 11;
6319                    if (c < p.cost_r) {
6320                            p.cost_r = (char)(c);
6321                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x9500; // p.r = 149
6322                            closure_r(p, c);
6323                    }
6324            }
6325            if (    // r: SYSCALL(INT_CONSTANT,any)
6326                    lchild.getOpcode() == INT_CONSTANT_opcode 
6327            ) {
6328                    c = STATE(rchild).cost_any + 23;
6329                    if (c < p.cost_r) {
6330                            p.cost_r = (char)(c);
6331                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x9600; // p.r = 150
6332                            closure_r(p, c);
6333                    }
6334            }
6335    }
6336    
6337    private void label_YIELDPOINT_PROLOGUE(BURS_TreeNode p) {
6338            p.word0 = 0;
6339            p.initCost();
6340            // stm: YIELDPOINT_PROLOGUE
6341            if (10 < p.cost_stm) {
6342                    p.cost_stm = (char)(10);
6343                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x5; // p.stm = 5
6344            }
6345    }
6346    
6347    private void label_YIELDPOINT_EPILOGUE(BURS_TreeNode p) {
6348            p.word0 = 0;
6349            p.initCost();
6350            // stm: YIELDPOINT_EPILOGUE
6351            if (10 < p.cost_stm) {
6352                    p.cost_stm = (char)(10);
6353                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x6; // p.stm = 6
6354            }
6355    }
6356    
6357    private void label_YIELDPOINT_BACKEDGE(BURS_TreeNode p) {
6358            p.word0 = 0;
6359            p.initCost();
6360            // stm: YIELDPOINT_BACKEDGE
6361            if (10 < p.cost_stm) {
6362                    p.cost_stm = (char)(10);
6363                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x7; // p.stm = 7
6364            }
6365    }
6366    
6367    private void label_YIELDPOINT_OSR(BURS_TreeNode p) {
6368            p.word0 = 0;
6369            p.initCost();
6370            BURS_TreeNode lchild, rchild;
6371            lchild = p.child1;
6372            rchild = p.child2;
6373            label(lchild);
6374            label(rchild);
6375            int c;
6376            // stm: YIELDPOINT_OSR(any,any)
6377            c = STATE(lchild).cost_any + STATE(rchild).cost_any + 10;
6378            if (c < p.cost_stm) {
6379                    p.cost_stm = (char)(c);
6380                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x7F; // p.stm = 127
6381            }
6382    }
6383    
6384    private void label_IR_PROLOGUE(BURS_TreeNode p) {
6385            p.word0 = 0;
6386            p.initCost();
6387            // stm: IR_PROLOGUE
6388            if (11 < p.cost_stm) {
6389                    p.cost_stm = (char)(11);
6390                    p.word0 = (p.word0 & 0xFFFFFF00) | 0xC; // p.stm = 12
6391            }
6392    }
6393    
6394    private void label_RESOLVE(BURS_TreeNode p) {
6395            p.word0 = 0;
6396            p.initCost();
6397            // stm: RESOLVE
6398            if (10 < p.cost_stm) {
6399                    p.cost_stm = (char)(10);
6400                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x9; // p.stm = 9
6401            }
6402    }
6403    
6404    private void label_GET_TIME_BASE(BURS_TreeNode p) {
6405            p.word0 = 0;
6406            p.initCost();
6407            // r: GET_TIME_BASE
6408            if (15 < p.cost_r) {
6409                    p.cost_r = (char)(15);
6410                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9700; // p.r = 151
6411                    closure_r(p, 15);
6412            }
6413    }
6414    
6415    private void label_TRAP_IF(BURS_TreeNode p) {
6416            p.word0 = 0;
6417            p.initCost();
6418            BURS_TreeNode lchild, rchild;
6419            lchild = p.child1;
6420            rchild = p.child2;
6421            label(lchild);
6422            label(rchild);
6423            int c;
6424            if (    // stm: TRAP_IF(r,INT_CONSTANT)
6425                    rchild.getOpcode() == INT_CONSTANT_opcode 
6426            ) {
6427                    c = STATE(lchild).cost_r + 10;
6428                    if (c < p.cost_stm) {
6429                            p.cost_stm = (char)(c);
6430                            p.word0 = (p.word0 & 0xFFFFFF00) | 0xF; // p.stm = 15
6431                    }
6432            }
6433            if (    // stm: TRAP_IF(r,LONG_CONSTANT)
6434                    rchild.getOpcode() == LONG_CONSTANT_opcode 
6435            ) {
6436                    c = STATE(lchild).cost_r + 10;
6437                    if (c < p.cost_stm) {
6438                            p.cost_stm = (char)(c);
6439                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x10; // p.stm = 16
6440                    }
6441            }
6442            // stm: TRAP_IF(r,r)
6443            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 10;
6444            if (c < p.cost_stm) {
6445                    p.cost_stm = (char)(c);
6446                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x11; // p.stm = 17
6447            }
6448            // stm: TRAP_IF(load32,riv)
6449            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
6450            if (c < p.cost_stm) {
6451                    p.cost_stm = (char)(c);
6452                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x12; // p.stm = 18
6453            }
6454            // stm: TRAP_IF(riv,load32)
6455            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
6456            if (c < p.cost_stm) {
6457                    p.cost_stm = (char)(c);
6458                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x13; // p.stm = 19
6459            }
6460    }
6461    
6462    private void label_TRAP(BURS_TreeNode p) {
6463            p.word0 = 0;
6464            p.initCost();
6465            // stm: TRAP
6466            if (10 < p.cost_stm) {
6467                    p.cost_stm = (char)(10);
6468                    p.word0 = (p.word0 & 0xFFFFFF00) | 0xE; // p.stm = 14
6469            }
6470    }
6471    
6472    private void label_FLOAT_AS_INT_BITS(BURS_TreeNode p) {
6473            p.word0 = 0;
6474            p.initCost();
6475            BURS_TreeNode lchild;
6476            lchild = p.child1;
6477            label(lchild);
6478            int c;
6479            // r: FLOAT_AS_INT_BITS(r)
6480            c = STATE(lchild).cost_r + 13;
6481            if (c < p.cost_r) {
6482                    p.cost_r = (char)(c);
6483                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC600; // p.r = 198
6484                    closure_r(p, c);
6485            }
6486            // load32: FLOAT_AS_INT_BITS(float_load)
6487            c = STATE(lchild).cost_float_load + 0;
6488            if (c < p.cost_load32) {
6489                    p.cost_load32 = (char)(c);
6490                    p.word1 = (p.word1 & 0xFFE3FFFF) | 0x180000; // p.load32 = 6
6491                    closure_load32(p, c);
6492            }
6493    }
6494    
6495    private void label_INT_BITS_AS_FLOAT(BURS_TreeNode p) {
6496            p.word0 = 0;
6497            p.initCost();
6498            BURS_TreeNode lchild;
6499            lchild = p.child1;
6500            label(lchild);
6501            int c;
6502            // r: INT_BITS_AS_FLOAT(riv)
6503            c = STATE(lchild).cost_riv + 13;
6504            if (c < p.cost_r) {
6505                    p.cost_r = (char)(c);
6506                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC800; // p.r = 200
6507                    closure_r(p, c);
6508            }
6509            // float_load: INT_BITS_AS_FLOAT(load32)
6510            c = STATE(lchild).cost_load32 + 0;
6511            if (c < p.cost_float_load) {
6512                    p.cost_float_load = (char)(c);
6513                    p.word2 = (p.word2 & 0xFFFC7FFF) | 0x18000; // p.float_load = 3
6514            }
6515    }
6516    
6517    private void label_DOUBLE_AS_LONG_BITS(BURS_TreeNode p) {
6518            p.word0 = 0;
6519            p.initCost();
6520            BURS_TreeNode lchild;
6521            lchild = p.child1;
6522            label(lchild);
6523            int c;
6524            // r: DOUBLE_AS_LONG_BITS(r)
6525            c = STATE(lchild).cost_r + 13;
6526            if (c < p.cost_r) {
6527                    p.cost_r = (char)(c);
6528                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC700; // p.r = 199
6529                    closure_r(p, c);
6530            }
6531            // load64: DOUBLE_AS_LONG_BITS(double_load)
6532            c = STATE(lchild).cost_double_load + 0;
6533            if (c < p.cost_load64) {
6534                    p.cost_load64 = (char)(c);
6535                    p.word1 = (p.word1 & 0xF1FFFFFF) | 0x8000000; // p.load64 = 4
6536            }
6537    }
6538    
6539    private void label_LONG_BITS_AS_DOUBLE(BURS_TreeNode p) {
6540            p.word0 = 0;
6541            p.initCost();
6542            BURS_TreeNode lchild;
6543            lchild = p.child1;
6544            label(lchild);
6545            int c;
6546            // r: LONG_BITS_AS_DOUBLE(rlv)
6547            c = STATE(lchild).cost_rlv + 13;
6548            if (c < p.cost_r) {
6549                    p.cost_r = (char)(c);
6550                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC900; // p.r = 201
6551                    closure_r(p, c);
6552            }
6553            // double_load: LONG_BITS_AS_DOUBLE(load64)
6554            c = STATE(lchild).cost_load64 + 0;
6555            if (c < p.cost_double_load) {
6556                    p.cost_double_load = (char)(c);
6557                    p.word2 = (p.word2 & 0xFFE3FFFF) | 0xC0000; // p.double_load = 3
6558            }
6559    }
6560    
6561    private void label_LOWTABLESWITCH(BURS_TreeNode p) {
6562            p.word0 = 0;
6563            p.initCost();
6564            BURS_TreeNode lchild;
6565            lchild = p.child1;
6566            label(lchild);
6567            int c;
6568            // stm: LOWTABLESWITCH(r)
6569            c = STATE(lchild).cost_r + 10;
6570            if (c < p.cost_stm) {
6571                    p.cost_stm = (char)(c);
6572                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x8; // p.stm = 8
6573            }
6574    }
6575    
6576    private void label_ADDRESS_CONSTANT(BURS_TreeNode p) {
6577            p.word0 = 0;
6578            p.initCost();
6579            // any: ADDRESS_CONSTANT
6580            if (0 < p.cost_any) {
6581                    p.cost_any = (char)(0);
6582                    p.word1 = (p.word1 & 0xFFFFFFE3) | 0xC; // p.any = 3
6583            }
6584    }
6585    
6586    private void label_INT_CONSTANT(BURS_TreeNode p) {
6587            p.word0 = 0;
6588            p.initCost();
6589            // riv: INT_CONSTANT
6590            if (0 < p.cost_riv) {
6591                    p.cost_riv = (char)(0);
6592                    p.word0 = (p.word0 & 0x9FFFFFFF) | 0x40000000; // p.riv = 2
6593                    closure_riv(p, 0);
6594            }
6595    }
6596    
6597    private void label_LONG_CONSTANT(BURS_TreeNode p) {
6598            p.word0 = 0;
6599            p.initCost();
6600            // rlv: LONG_CONSTANT
6601            if (0 < p.cost_rlv) {
6602                    p.cost_rlv = (char)(0);
6603                    p.word1 = (p.word1 & 0xFFFFFFFC) | 0x2; // p.rlv = 2
6604            }
6605            // any: LONG_CONSTANT
6606            if (0 < p.cost_any) {
6607                    p.cost_any = (char)(0);
6608                    p.word1 = (p.word1 & 0xFFFFFFE3) | 0x10; // p.any = 4
6609            }
6610    }
6611    
6612    private void label_REGISTER(BURS_TreeNode p) {
6613            p.word0 = 0;
6614            p.initCost();
6615            // r: REGISTER
6616            if (0 < p.cost_r) {
6617                    p.cost_r = (char)(0);
6618                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x100; // p.r = 1
6619                    closure_r(p, 0);
6620            }
6621    }
6622    
6623    private void label_OTHER_OPERAND(BURS_TreeNode p) {
6624            p.word0 = 0;
6625            p.initCost();
6626            BURS_TreeNode lchild, rchild;
6627            lchild = p.child1;
6628            rchild = p.child2;
6629            label(lchild);
6630            label(rchild);
6631            int c;
6632            // any: OTHER_OPERAND(any,any)
6633            c = STATE(lchild).cost_any + STATE(rchild).cost_any + 0;
6634            if (c < p.cost_any) {
6635                    p.cost_any = (char)(c);
6636                    p.word1 = (p.word1 & 0xFFFFFFE3) | 0x14; // p.any = 5
6637            }
6638    }
6639    
6640    private void label_NULL(BURS_TreeNode p) {
6641            p.word0 = 0;
6642            p.initCost();
6643            // any: NULL
6644            if (0 < p.cost_any) {
6645                    p.cost_any = (char)(0);
6646                    p.word1 = (p.word1 & 0xFFFFFFE3) | 0x4; // p.any = 1
6647            }
6648    }
6649    
6650    private void label_BRANCH_TARGET(BURS_TreeNode p) {
6651            p.word0 = 0;
6652            p.initCost();
6653    }
6654    
6655    private void label_MATERIALIZE_FP_CONSTANT(BURS_TreeNode p) {
6656            p.word0 = 0;
6657            p.initCost();
6658            BURS_TreeNode lchild;
6659            lchild = p.child1;
6660            label(lchild);
6661            int c;
6662            if (    // r: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
6663                    lchild.getOpcode() == INT_CONSTANT_opcode 
6664            ) {
6665                    c = 15;
6666                    if (c < p.cost_r) {
6667                            p.cost_r = (char)(c);
6668                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCA00; // p.r = 202
6669                            closure_r(p, c);
6670                    }
6671            }
6672            if (    // float_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
6673                    lchild.getOpcode() == INT_CONSTANT_opcode 
6674            ) {
6675                    c = (Binary.getResult(P(p)).isFloat() ? 0 : INFINITE);
6676                    if (c < p.cost_float_load) {
6677                            p.cost_float_load = (char)(c);
6678                            p.word2 = (p.word2 & 0xFFFC7FFF) | 0x20000; // p.float_load = 4
6679                    }
6680            }
6681            if (    // double_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
6682                    lchild.getOpcode() == INT_CONSTANT_opcode 
6683            ) {
6684                    c = (Binary.getResult(P(p)).isDouble() ? 0 : INFINITE);
6685                    if (c < p.cost_double_load) {
6686                            p.cost_double_load = (char)(c);
6687                            p.word2 = (p.word2 & 0xFFE3FFFF) | 0x100000; // p.double_load = 4
6688                    }
6689            }
6690    }
6691    
6692    private void label_GET_CURRENT_PROCESSOR(BURS_TreeNode p) {
6693            p.word0 = 0;
6694            p.initCost();
6695            // r: GET_CURRENT_PROCESSOR
6696            if (15 < p.cost_r) {
6697                    p.cost_r = (char)(15);
6698                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6600; // p.r = 102
6699                    closure_r(p, 15);
6700            }
6701    }
6702    
6703    private void label_CLEAR_FLOATING_POINT_STATE(BURS_TreeNode p) {
6704            p.word0 = 0;
6705            p.initCost();
6706            // stm: CLEAR_FLOATING_POINT_STATE
6707            if (0 < p.cost_stm) {
6708                    p.cost_stm = (char)(0);
6709                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x84; // p.stm = 132
6710            }
6711    }
6712    
6713    private void label_PREFETCH(BURS_TreeNode p) {
6714            p.word0 = 0;
6715            p.initCost();
6716            BURS_TreeNode lchild;
6717            lchild = p.child1;
6718            label(lchild);
6719            int c;
6720            // stm: PREFETCH(r)
6721            c = STATE(lchild).cost_r + 11;
6722            if (c < p.cost_stm) {
6723                    p.cost_stm = (char)(c);
6724                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x77; // p.stm = 119
6725            }
6726    }
6727    
6728    private void label_PAUSE(BURS_TreeNode p) {
6729            p.word0 = 0;
6730            p.initCost();
6731            // stm: PAUSE
6732            if (11 < p.cost_stm) {
6733                    p.cost_stm = (char)(11);
6734                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x7A; // p.stm = 122
6735            }
6736    }
6737    
6738    private void label_CMP_CMOV(BURS_TreeNode p) {
6739            p.word0 = 0;
6740            p.initCost();
6741            BURS_TreeNode lchild, rchild;
6742            lchild = p.child1;
6743            rchild = p.child2;
6744            label(lchild);
6745            label(rchild);
6746            int c;
6747            if (    // r: CMP_CMOV(r,OTHER_OPERAND(riv,any))
6748                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6749            ) {
6750                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_any + (13 + 30);
6751                    if (c < p.cost_r) {
6752                            p.cost_r = (char)(c);
6753                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1C00; // p.r = 28
6754                            closure_r(p, c);
6755                    }
6756            }
6757            if (    // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,any))
6758                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6759                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6760            ) {
6761                    c = STATE(lchild).cost_r + STATE(rchild.child2).cost_any + (VRL(p) == 0 && CMP_TO_TEST(CondMove.getCond(P(p))) ? (11 + 30):INFINITE);
6762                    if (c < p.cost_r) {
6763                            p.cost_r = (char)(c);
6764                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1D00; // p.r = 29
6765                            closure_r(p, c);
6766                    }
6767            }
6768            if (    // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
6769                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6770                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
6771                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
6772                    rchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
6773                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
6774            ) {
6775                    c = STATE(lchild).cost_r + ((VRL(p) == 0 && CondMove.getCond(P(p)).isLESS() && VRRL(p) == -1 && VRRR(p) == 0) || (VRL(p) == 0 && CondMove.getCond(P(p)).isGREATER_EQUAL() && VRRL(p) == 0 && VRRR(p) == -1) ? 13 : INFINITE);
6776                    if (c < p.cost_r) {
6777                            p.cost_r = (char)(c);
6778                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1E00; // p.r = 30
6779                            closure_r(p, c);
6780                    }
6781            }
6782            if (    // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
6783                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6784                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
6785                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
6786                    rchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
6787                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
6788            ) {
6789                    c = STATE(lchild).cost_load32 + ((VRL(p) == 0 && CondMove.getCond(P(p)).isLESS() && VRRL(p) == -1 && VRRR(p) == 0) || (VRL(p) == 0 && CondMove.getCond(P(p)).isGREATER_EQUAL() && VRRL(p) == 0 && VRRR(p) == -1) ? 18 : INFINITE);
6790                    if (c < p.cost_r) {
6791                            p.cost_r = (char)(c);
6792                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1F00; // p.r = 31
6793                            closure_r(p, c);
6794                    }
6795            }
6796            if (    // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
6797                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6798                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
6799                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
6800                    rchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
6801                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
6802            ) {
6803                    c = STATE(lchild).cost_r + ((VRL(p) == 0 && CondMove.getCond(P(p)).isLESS() && VRRL(p) == 0 && VRRR(p) == -1) || (VRL(p) == 0 && CondMove.getCond(P(p)).isGREATER_EQUAL() && VRRL(p) == -1 && VRRR(p) == 0) ? 26 : INFINITE);
6804                    if (c < p.cost_r) {
6805                            p.cost_r = (char)(c);
6806                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2000; // p.r = 32
6807                            closure_r(p, c);
6808                    }
6809            }
6810            if (    // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
6811                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6812                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
6813                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
6814                    rchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
6815                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
6816            ) {
6817                    c = STATE(lchild).cost_load32 + ((VRL(p) == 0 && CondMove.getCond(P(p)).isLESS() && VRRL(p) == 0 && VRRR(p) == -1) || (VRL(p) == 0 && CondMove.getCond(P(p)).isGREATER_EQUAL() && VRRL(p) == -1 && VRRR(p) == 0) ? 31 : INFINITE);
6818                    if (c < p.cost_r) {
6819                            p.cost_r = (char)(c);
6820                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2100; // p.r = 33
6821                            closure_r(p, c);
6822                    }
6823            }
6824            if (    // r: CMP_CMOV(load8,OTHER_OPERAND(INT_CONSTANT,any))
6825                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6826                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6827            ) {
6828                    c = STATE(lchild).cost_load8 + STATE(rchild.child2).cost_any + FITS(CondMove.getVal2(P(p)), 8, (15 + 30));
6829                    if (c < p.cost_r) {
6830                            p.cost_r = (char)(c);
6831                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2200; // p.r = 34
6832                            closure_r(p, c);
6833                    }
6834            }
6835            if (    // r: CMP_CMOV(uload8,OTHER_OPERAND(riv,any))
6836                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6837            ) {
6838                    c = STATE(lchild).cost_uload8 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_any + (15 + 30);
6839                    if (c < p.cost_r) {
6840                            p.cost_r = (char)(c);
6841                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2300; // p.r = 35
6842                            closure_r(p, c);
6843                    }
6844            }
6845            if (    // r: CMP_CMOV(riv,OTHER_OPERAND(uload8,any))
6846                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6847            ) {
6848                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_uload8 + STATE(rchild.child2).cost_any + (15 + 30);
6849                    if (c < p.cost_r) {
6850                            p.cost_r = (char)(c);
6851                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2400; // p.r = 36
6852                            closure_r(p, c);
6853                    }
6854            }
6855            if (    // r: CMP_CMOV(sload16,OTHER_OPERAND(INT_CONSTANT,any))
6856                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6857                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6858            ) {
6859                    c = STATE(lchild).cost_sload16 + STATE(rchild.child2).cost_any + FITS(CondMove.getVal2(P(p)), 8, (15 + 30));
6860                    if (c < p.cost_r) {
6861                            p.cost_r = (char)(c);
6862                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2500; // p.r = 37
6863                            closure_r(p, c);
6864                    }
6865            }
6866            if (    // r: CMP_CMOV(load32,OTHER_OPERAND(riv,any))
6867                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6868            ) {
6869                    c = STATE(lchild).cost_load32 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_any + (15 + 30);
6870                    if (c < p.cost_r) {
6871                            p.cost_r = (char)(c);
6872                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2600; // p.r = 38
6873                            closure_r(p, c);
6874                    }
6875            }
6876            if (    // r: CMP_CMOV(riv,OTHER_OPERAND(load32,any))
6877                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6878            ) {
6879                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_load32 + STATE(rchild.child2).cost_any + (15 + 30);
6880                    if (c < p.cost_r) {
6881                            p.cost_r = (char)(c);
6882                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2700; // p.r = 39
6883                            closure_r(p, c);
6884                    }
6885            }
6886            if (    // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
6887                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6888                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6889            ) {
6890                    c = STATE(lchild).cost_boolcmp + STATE(rchild.child2).cost_any + ((VRL(p) == 0 && CondMove.getCond(P(p)).isNOT_EQUAL()) || (VRL(p) == 1 && CondMove.getCond(P(p)).isEQUAL()) ? 30 : INFINITE);
6891                    if (c < p.cost_r) {
6892                            p.cost_r = (char)(c);
6893                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2800; // p.r = 40
6894                            closure_r(p, c);
6895                    }
6896            }
6897            if (    // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
6898                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6899                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6900            ) {
6901                    c = STATE(lchild).cost_boolcmp + STATE(rchild.child2).cost_any + ((VRL(p) == 1 && CondMove.getCond(P(p)).isNOT_EQUAL()) || (VRL(p) == 0 && CondMove.getCond(P(p)).isEQUAL()) ? 30 : INFINITE);
6902                    if (c < p.cost_r) {
6903                            p.cost_r = (char)(c);
6904                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2900; // p.r = 41
6905                            closure_r(p, c);
6906                    }
6907            }
6908            if (    // r: CMP_CMOV(bittest,OTHER_OPERAND(INT_CONSTANT,any))
6909                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6910                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6911            ) {
6912                    c = STATE(lchild).cost_bittest + STATE(rchild.child2).cost_any + ((VRL(p) == 0 || VRL(p) == 1) && EQ_NE(CondMove.getCond(P(p))) ? 30 : INFINITE);
6913                    if (c < p.cost_r) {
6914                            p.cost_r = (char)(c);
6915                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2A00; // p.r = 42
6916                            closure_r(p, c);
6917                    }
6918            }
6919            if (    // r: CMP_CMOV(cz,OTHER_OPERAND(INT_CONSTANT,any))
6920                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6921                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6922            ) {
6923                    c = STATE(lchild).cost_cz + STATE(rchild.child2).cost_any + isZERO(VRL(p), 30);
6924                    if (c < p.cost_r) {
6925                            p.cost_r = (char)(c);
6926                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2B00; // p.r = 43
6927                            closure_r(p, c);
6928                    }
6929            }
6930            if (    // r: CMP_CMOV(szp,OTHER_OPERAND(INT_CONSTANT,any))
6931                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6932                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6933            ) {
6934                    c = STATE(lchild).cost_szp + STATE(rchild.child2).cost_any + isZERO(VRL(p), 30);
6935                    if (c < p.cost_r) {
6936                            p.cost_r = (char)(c);
6937                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2C00; // p.r = 44
6938                            closure_r(p, c);
6939                    }
6940            }
6941    }
6942    
6943    private void label_FCMP_CMOV(BURS_TreeNode p) {
6944            p.word0 = 0;
6945            p.initCost();
6946            BURS_TreeNode lchild, rchild;
6947            lchild = p.child1;
6948            rchild = p.child2;
6949            label(lchild);
6950            label(rchild);
6951            int c;
6952            if (    // r: FCMP_CMOV(r,OTHER_OPERAND(r,any))
6953                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6954            ) {
6955                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2).cost_any + 13*2;
6956                    if (c < p.cost_r) {
6957                            p.cost_r = (char)(c);
6958                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCB00; // p.r = 203
6959                            closure_r(p, c);
6960                    }
6961            }
6962            if (    // r: FCMP_CMOV(r,OTHER_OPERAND(float_load,any))
6963                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6964            ) {
6965                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_float_load + STATE(rchild.child2).cost_any + 13+15;
6966                    if (c < p.cost_r) {
6967                            p.cost_r = (char)(c);
6968                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCC00; // p.r = 204
6969                            closure_r(p, c);
6970                    }
6971            }
6972            if (    // r: FCMP_CMOV(r,OTHER_OPERAND(double_load,any))
6973                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6974            ) {
6975                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_double_load + STATE(rchild.child2).cost_any + 13+15;
6976                    if (c < p.cost_r) {
6977                            p.cost_r = (char)(c);
6978                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCD00; // p.r = 205
6979                            closure_r(p, c);
6980                    }
6981            }
6982            if (    // r: FCMP_CMOV(float_load,OTHER_OPERAND(r,any))
6983                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6984            ) {
6985                    c = STATE(lchild).cost_float_load + STATE(rchild.child1).cost_r + STATE(rchild.child2).cost_any + 13+15;
6986                    if (c < p.cost_r) {
6987                            p.cost_r = (char)(c);
6988                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCE00; // p.r = 206
6989                            closure_r(p, c);
6990                    }
6991            }
6992            if (    // r: FCMP_CMOV(double_load,OTHER_OPERAND(r,any))
6993                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6994            ) {
6995                    c = STATE(lchild).cost_double_load + STATE(rchild.child1).cost_r + STATE(rchild.child2).cost_any + 13+15;
6996                    if (c < p.cost_r) {
6997                            p.cost_r = (char)(c);
6998                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCF00; // p.r = 207
6999                            closure_r(p, c);
7000                    }
7001            }
7002    }
7003    
7004    private void label_LCMP_CMOV(BURS_TreeNode p) {
7005            p.word0 = 0;
7006            p.initCost();
7007            BURS_TreeNode lchild, rchild;
7008            lchild = p.child1;
7009            rchild = p.child2;
7010            label(lchild);
7011            label(rchild);
7012            int c;
7013            if (    // r: LCMP_CMOV(r,OTHER_OPERAND(rlv,any))
7014                    rchild.getOpcode() == OTHER_OPERAND_opcode 
7015            ) {
7016                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_rlv + STATE(rchild.child2).cost_any + (8*13 + 30);
7017                    if (c < p.cost_r) {
7018                            p.cost_r = (char)(c);
7019                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2D00; // p.r = 45
7020                            closure_r(p, c);
7021                    }
7022            }
7023    }
7024    
7025    private void label_FCMP_FCMOV(BURS_TreeNode p) {
7026            p.word0 = 0;
7027            p.initCost();
7028            BURS_TreeNode lchild, rchild;
7029            lchild = p.child1;
7030            rchild = p.child2;
7031            label(lchild);
7032            label(rchild);
7033            int c;
7034            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(r,any))
7035                    rchild.getOpcode() == OTHER_OPERAND_opcode 
7036            ) {
7037                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2).cost_any + 13*4;
7038                    if (c < p.cost_r) {
7039                            p.cost_r = (char)(c);
7040                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD000; // p.r = 208
7041                            closure_r(p, c);
7042                    }
7043            }
7044            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,float_load)))
7045                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7046                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
7047            ) {
7048                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2.child1).cost_r + STATE(rchild.child2.child2).cost_float_load + 15+13*3;
7049                    if (c < p.cost_r) {
7050                            p.cost_r = (char)(c);
7051                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD100; // p.r = 209
7052                            closure_r(p, c);
7053                    }
7054            }
7055            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,double_load)))
7056                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7057                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
7058            ) {
7059                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2.child1).cost_r + STATE(rchild.child2.child2).cost_double_load + 15+13*3;
7060                    if (c < p.cost_r) {
7061                            p.cost_r = (char)(c);
7062                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD200; // p.r = 210
7063                            closure_r(p, c);
7064                    }
7065            }
7066            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(float_load,r)))
7067                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7068                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
7069            ) {
7070                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2.child1).cost_float_load + STATE(rchild.child2.child2).cost_r + 15+13*3;
7071                    if (c < p.cost_r) {
7072                            p.cost_r = (char)(c);
7073                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD300; // p.r = 211
7074                            closure_r(p, c);
7075                    }
7076            }
7077            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(double_load,r)))
7078                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7079                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
7080            ) {
7081                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2.child1).cost_double_load + STATE(rchild.child2.child2).cost_r + 15+13*3;
7082                    if (c < p.cost_r) {
7083                            p.cost_r = (char)(c);
7084                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD400; // p.r = 212
7085                            closure_r(p, c);
7086                    }
7087            }
7088            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(float_load,any))
7089                    rchild.getOpcode() == OTHER_OPERAND_opcode 
7090            ) {
7091                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_float_load + STATE(rchild.child2).cost_any + (SSE2_CMP_OP(CondMove.getCond(P(p)), true) != null ? 15+13*3 : INFINITE);
7092                    if (c < p.cost_r) {
7093                            p.cost_r = (char)(c);
7094                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD500; // p.r = 213
7095                            closure_r(p, c);
7096                    }
7097            }
7098            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(double_load,any))
7099                    rchild.getOpcode() == OTHER_OPERAND_opcode 
7100            ) {
7101                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_double_load + STATE(rchild.child2).cost_any + (SSE2_CMP_OP(CondMove.getCond(P(p)), false) != null ? 15+13*3 : INFINITE);
7102                    if (c < p.cost_r) {
7103                            p.cost_r = (char)(c);
7104                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD600; // p.r = 214
7105                            closure_r(p, c);
7106                    }
7107            }
7108            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,FLOAT_NEG(r))))
7109                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7110                    rchild.child1.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7111                    rchild.child1.child1.getOpcode() == INT_CONSTANT_opcode && 
7112                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7113                    rchild.child2.child2.getOpcode() == FLOAT_NEG_opcode 
7114            ) {
7115                    c = STATE(lchild).cost_r + STATE(rchild.child2.child1).cost_r + STATE(rchild.child2.child2.child1).cost_r + (IS_MATERIALIZE_ZERO(PRL(p)) && SSE2_IS_GT_OR_GE(CondMove.getCond(P(p))) && SIMILAR_REGISTERS(CondMove.getVal1(P(p)), CondMove.getTrueValue(P(p)), Unary.getVal(PRRR(p))) ? 11 : INFINITE );
7116                    if (c < p.cost_r) {
7117                            p.cost_r = (char)(c);
7118                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD700; // p.r = 215
7119                            closure_r(p, c);
7120                    }
7121            }
7122            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(FLOAT_NEG(r),r)))
7123                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7124                    rchild.child1.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7125                    rchild.child1.child1.getOpcode() == INT_CONSTANT_opcode && 
7126                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7127                    rchild.child2.child1.getOpcode() == FLOAT_NEG_opcode 
7128            ) {
7129                    c = STATE(lchild).cost_r + STATE(rchild.child2.child1.child1).cost_r + STATE(rchild.child2.child2).cost_r + (IS_MATERIALIZE_ZERO(PRL(p)) && SSE2_IS_LT_OR_LE(CondMove.getCond(P(p))) && SIMILAR_REGISTERS(CondMove.getVal1(P(p)), CondMove.getFalseValue(P(p)), Unary.getVal(PRRL(p))) ? 11 : INFINITE );
7130                    if (c < p.cost_r) {
7131                            p.cost_r = (char)(c);
7132                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD800; // p.r = 216
7133                            closure_r(p, c);
7134                    }
7135            }
7136            if (    // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(FLOAT_NEG(r),r)))
7137                    lchild.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7138                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
7139                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7140                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7141                    rchild.child2.child1.getOpcode() == FLOAT_NEG_opcode 
7142            ) {
7143                    c = STATE(rchild.child1).cost_r + STATE(rchild.child2.child1.child1).cost_r + STATE(rchild.child2.child2).cost_r + (IS_MATERIALIZE_ZERO(PRL(p)) && SSE2_IS_GT_OR_GE(CondMove.getCond(P(p))) && SIMILAR_REGISTERS(CondMove.getVal2(P(p)), CondMove.getFalseValue(P(p)), Unary.getVal(PRRL(p))) ? 11 : INFINITE );
7144                    if (c < p.cost_r) {
7145                            p.cost_r = (char)(c);
7146                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD900; // p.r = 217
7147                            closure_r(p, c);
7148                    }
7149            }
7150            if (    // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,FLOAT_NEG(r))))
7151                    lchild.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7152                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
7153                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7154                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7155                    rchild.child2.child2.getOpcode() == FLOAT_NEG_opcode 
7156            ) {
7157                    c = STATE(rchild.child1).cost_r + STATE(rchild.child2.child1).cost_r + STATE(rchild.child2.child2.child1).cost_r + (IS_MATERIALIZE_ZERO(PRL(p)) && SSE2_IS_LT_OR_LE(CondMove.getCond(P(p))) && SIMILAR_REGISTERS(CondMove.getVal2(P(p)), CondMove.getTrueValue(P(p)), Unary.getVal(PRRR(p))) ? 11 : INFINITE );
7158                    if (c < p.cost_r) {
7159                            p.cost_r = (char)(c);
7160                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xDA00; // p.r = 218
7161                            closure_r(p, c);
7162                    }
7163            }
7164            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,DOUBLE_NEG(r))))
7165                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7166                    rchild.child1.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7167                    rchild.child1.child1.getOpcode() == INT_CONSTANT_opcode && 
7168                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7169                    rchild.child2.child2.getOpcode() == DOUBLE_NEG_opcode 
7170            ) {
7171                    c = STATE(lchild).cost_r + STATE(rchild.child2.child1).cost_r + STATE(rchild.child2.child2.child1).cost_r + (IS_MATERIALIZE_ZERO(PRL(p)) && SSE2_IS_GT_OR_GE(CondMove.getCond(P(p))) && SIMILAR_REGISTERS(CondMove.getVal1(P(p)), CondMove.getTrueValue(P(p)), Unary.getVal(PRRR(p))) ? 11 : INFINITE );
7172                    if (c < p.cost_r) {
7173                            p.cost_r = (char)(c);
7174                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xDB00; // p.r = 219
7175                            closure_r(p, c);
7176                    }
7177            }
7178            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(DOUBLE_NEG(r),r)))
7179                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7180                    rchild.child1.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7181                    rchild.child1.child1.getOpcode() == INT_CONSTANT_opcode && 
7182                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7183                    rchild.child2.child1.getOpcode() == DOUBLE_NEG_opcode 
7184            ) {
7185                    c = STATE(lchild).cost_r + STATE(rchild.child2.child1.child1).cost_r + STATE(rchild.child2.child2).cost_r + (IS_MATERIALIZE_ZERO(PRL(p)) && SSE2_IS_LT_OR_LE(CondMove.getCond(P(p))) && SIMILAR_REGISTERS(CondMove.getVal1(P(p)), CondMove.getFalseValue(P(p)), Unary.getVal(PRRL(p))) ? 11 : INFINITE );
7186                    if (c < p.cost_r) {
7187                            p.cost_r = (char)(c);
7188                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xDC00; // p.r = 220
7189                            closure_r(p, c);
7190                    }
7191            }
7192            if (    // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(DOUBLE_NEG(r),r)))
7193                    lchild.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7194                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
7195                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7196                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7197                    rchild.child2.child1.getOpcode() == DOUBLE_NEG_opcode 
7198            ) {
7199                    c = STATE(rchild.child1).cost_r + STATE(rchild.child2.child1.child1).cost_r + STATE(rchild.child2.child2).cost_r + (IS_MATERIALIZE_ZERO(PRL(p)) && SSE2_IS_GT_OR_GE(CondMove.getCond(P(p))) && SIMILAR_REGISTERS(CondMove.getVal2(P(p)), CondMove.getFalseValue(P(p)), Unary.getVal(PRRL(p))) ? 11 : INFINITE );
7200                    if (c < p.cost_r) {
7201                            p.cost_r = (char)(c);
7202                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xDD00; // p.r = 221
7203                            closure_r(p, c);
7204                    }
7205            }
7206            if (    // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,DOUBLE_NEG(r))))
7207                    lchild.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7208                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
7209                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7210                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7211                    rchild.child2.child2.getOpcode() == DOUBLE_NEG_opcode 
7212            ) {
7213                    c = STATE(rchild.child1).cost_r + STATE(rchild.child2.child1).cost_r + STATE(rchild.child2.child2.child1).cost_r + (IS_MATERIALIZE_ZERO(PRL(p)) && SSE2_IS_LT_OR_LE(CondMove.getCond(P(p))) && SIMILAR_REGISTERS(CondMove.getVal2(P(p)), CondMove.getTrueValue(P(p)), Unary.getVal(PRRR(p))) ? 11 : INFINITE );
7214                    if (c < p.cost_r) {
7215                            p.cost_r = (char)(c);
7216                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xDE00; // p.r = 222
7217                            closure_r(p, c);
7218                    }
7219            }
7220    }
7221    
7222    public void label(BURS_TreeNode p) {
7223            p.initCost();
7224            switch (p.getOpcode()) {
7225            case GET_CAUGHT_EXCEPTION_opcode: label_GET_CAUGHT_EXCEPTION(p); break;
7226            case SET_CAUGHT_EXCEPTION_opcode: label_SET_CAUGHT_EXCEPTION(p); break;
7227            case IG_PATCH_POINT_opcode: label_IG_PATCH_POINT(p); break;
7228            case INT_ALOAD_opcode: label_INT_ALOAD(p); break;
7229            case LONG_ALOAD_opcode: label_LONG_ALOAD(p); break;
7230            case FLOAT_ALOAD_opcode: label_FLOAT_ALOAD(p); break;
7231            case DOUBLE_ALOAD_opcode: label_DOUBLE_ALOAD(p); break;
7232            case UBYTE_ALOAD_opcode: label_UBYTE_ALOAD(p); break;
7233            case BYTE_ALOAD_opcode: label_BYTE_ALOAD(p); break;
7234            case USHORT_ALOAD_opcode: label_USHORT_ALOAD(p); break;
7235            case SHORT_ALOAD_opcode: label_SHORT_ALOAD(p); break;
7236            case INT_ASTORE_opcode: label_INT_ASTORE(p); break;
7237            case LONG_ASTORE_opcode: label_LONG_ASTORE(p); break;
7238            case FLOAT_ASTORE_opcode: label_FLOAT_ASTORE(p); break;
7239            case DOUBLE_ASTORE_opcode: label_DOUBLE_ASTORE(p); break;
7240            case BYTE_ASTORE_opcode: label_BYTE_ASTORE(p); break;
7241            case SHORT_ASTORE_opcode: label_SHORT_ASTORE(p); break;
7242            case INT_IFCMP_opcode: label_INT_IFCMP(p); break;
7243            case INT_IFCMP2_opcode: label_INT_IFCMP2(p); break;
7244            case LONG_IFCMP_opcode: label_LONG_IFCMP(p); break;
7245            case FLOAT_IFCMP_opcode: label_FLOAT_IFCMP(p); break;
7246            case DOUBLE_IFCMP_opcode: label_DOUBLE_IFCMP(p); break;
7247            case UNINT_BEGIN_opcode: label_UNINT_BEGIN(p); break;
7248            case UNINT_END_opcode: label_UNINT_END(p); break;
7249            case READ_CEILING_opcode: label_READ_CEILING(p); break;
7250            case WRITE_FLOOR_opcode: label_WRITE_FLOOR(p); break;
7251            case NOP_opcode: label_NOP(p); break;
7252            case INT_MOVE_opcode: label_INT_MOVE(p); break;
7253            case LONG_MOVE_opcode: label_LONG_MOVE(p); break;
7254            case FLOAT_MOVE_opcode: label_FLOAT_MOVE(p); break;
7255            case DOUBLE_MOVE_opcode: label_DOUBLE_MOVE(p); break;
7256            case GUARD_MOVE_opcode: label_GUARD_MOVE(p); break;
7257            case GUARD_COMBINE_opcode: label_GUARD_COMBINE(p); break;
7258            case INT_ADD_opcode: label_INT_ADD(p); break;
7259            case LONG_ADD_opcode: label_LONG_ADD(p); break;
7260            case FLOAT_ADD_opcode: label_FLOAT_ADD(p); break;
7261            case DOUBLE_ADD_opcode: label_DOUBLE_ADD(p); break;
7262            case INT_SUB_opcode: label_INT_SUB(p); break;
7263            case LONG_SUB_opcode: label_LONG_SUB(p); break;
7264            case FLOAT_SUB_opcode: label_FLOAT_SUB(p); break;
7265            case DOUBLE_SUB_opcode: label_DOUBLE_SUB(p); break;
7266            case INT_MUL_opcode: label_INT_MUL(p); break;
7267            case LONG_MUL_opcode: label_LONG_MUL(p); break;
7268            case FLOAT_MUL_opcode: label_FLOAT_MUL(p); break;
7269            case DOUBLE_MUL_opcode: label_DOUBLE_MUL(p); break;
7270            case INT_DIV_opcode: label_INT_DIV(p); break;
7271            case FLOAT_DIV_opcode: label_FLOAT_DIV(p); break;
7272            case DOUBLE_DIV_opcode: label_DOUBLE_DIV(p); break;
7273            case INT_REM_opcode: label_INT_REM(p); break;
7274            case FLOAT_REM_opcode: label_FLOAT_REM(p); break;
7275            case DOUBLE_REM_opcode: label_DOUBLE_REM(p); break;
7276            case INT_NEG_opcode: label_INT_NEG(p); break;
7277            case LONG_NEG_opcode: label_LONG_NEG(p); break;
7278            case FLOAT_NEG_opcode: label_FLOAT_NEG(p); break;
7279            case DOUBLE_NEG_opcode: label_DOUBLE_NEG(p); break;
7280            case FLOAT_SQRT_opcode: label_FLOAT_SQRT(p); break;
7281            case DOUBLE_SQRT_opcode: label_DOUBLE_SQRT(p); break;
7282            case INT_SHL_opcode: label_INT_SHL(p); break;
7283            case LONG_SHL_opcode: label_LONG_SHL(p); break;
7284            case INT_SHR_opcode: label_INT_SHR(p); break;
7285            case LONG_SHR_opcode: label_LONG_SHR(p); break;
7286            case INT_USHR_opcode: label_INT_USHR(p); break;
7287            case LONG_USHR_opcode: label_LONG_USHR(p); break;
7288            case INT_AND_opcode: label_INT_AND(p); break;
7289            case LONG_AND_opcode: label_LONG_AND(p); break;
7290            case INT_OR_opcode: label_INT_OR(p); break;
7291            case LONG_OR_opcode: label_LONG_OR(p); break;
7292            case INT_XOR_opcode: label_INT_XOR(p); break;
7293            case INT_NOT_opcode: label_INT_NOT(p); break;
7294            case LONG_NOT_opcode: label_LONG_NOT(p); break;
7295            case LONG_XOR_opcode: label_LONG_XOR(p); break;
7296            case ADDR_2LONG_opcode: label_ADDR_2LONG(p); break;
7297            case INT_2LONG_opcode: label_INT_2LONG(p); break;
7298            case INT_2FLOAT_opcode: label_INT_2FLOAT(p); break;
7299            case INT_2DOUBLE_opcode: label_INT_2DOUBLE(p); break;
7300            case LONG_2INT_opcode: label_LONG_2INT(p); break;
7301            case LONG_2FLOAT_opcode: label_LONG_2FLOAT(p); break;
7302            case LONG_2DOUBLE_opcode: label_LONG_2DOUBLE(p); break;
7303            case FLOAT_2INT_opcode: label_FLOAT_2INT(p); break;
7304            case FLOAT_2LONG_opcode: label_FLOAT_2LONG(p); break;
7305            case FLOAT_2DOUBLE_opcode: label_FLOAT_2DOUBLE(p); break;
7306            case DOUBLE_2INT_opcode: label_DOUBLE_2INT(p); break;
7307            case DOUBLE_2LONG_opcode: label_DOUBLE_2LONG(p); break;
7308            case DOUBLE_2FLOAT_opcode: label_DOUBLE_2FLOAT(p); break;
7309            case INT_2BYTE_opcode: label_INT_2BYTE(p); break;
7310            case INT_2USHORT_opcode: label_INT_2USHORT(p); break;
7311            case INT_2SHORT_opcode: label_INT_2SHORT(p); break;
7312            case LONG_CMP_opcode: label_LONG_CMP(p); break;
7313            case RETURN_opcode: label_RETURN(p); break;
7314            case NULL_CHECK_opcode: label_NULL_CHECK(p); break;
7315            case GOTO_opcode: label_GOTO(p); break;
7316            case BOOLEAN_NOT_opcode: label_BOOLEAN_NOT(p); break;
7317            case BOOLEAN_CMP_INT_opcode: label_BOOLEAN_CMP_INT(p); break;
7318            case BOOLEAN_CMP_LONG_opcode: label_BOOLEAN_CMP_LONG(p); break;
7319            case BYTE_LOAD_opcode: label_BYTE_LOAD(p); break;
7320            case UBYTE_LOAD_opcode: label_UBYTE_LOAD(p); break;
7321            case SHORT_LOAD_opcode: label_SHORT_LOAD(p); break;
7322            case USHORT_LOAD_opcode: label_USHORT_LOAD(p); break;
7323            case INT_LOAD_opcode: label_INT_LOAD(p); break;
7324            case LONG_LOAD_opcode: label_LONG_LOAD(p); break;
7325            case FLOAT_LOAD_opcode: label_FLOAT_LOAD(p); break;
7326            case DOUBLE_LOAD_opcode: label_DOUBLE_LOAD(p); break;
7327            case BYTE_STORE_opcode: label_BYTE_STORE(p); break;
7328            case SHORT_STORE_opcode: label_SHORT_STORE(p); break;
7329            case INT_STORE_opcode: label_INT_STORE(p); break;
7330            case LONG_STORE_opcode: label_LONG_STORE(p); break;
7331            case FLOAT_STORE_opcode: label_FLOAT_STORE(p); break;
7332            case DOUBLE_STORE_opcode: label_DOUBLE_STORE(p); break;
7333            case PREPARE_INT_opcode: label_PREPARE_INT(p); break;
7334            case PREPARE_LONG_opcode: label_PREPARE_LONG(p); break;
7335            case ATTEMPT_INT_opcode: label_ATTEMPT_INT(p); break;
7336            case ATTEMPT_LONG_opcode: label_ATTEMPT_LONG(p); break;
7337            case CALL_opcode: label_CALL(p); break;
7338            case SYSCALL_opcode: label_SYSCALL(p); break;
7339            case YIELDPOINT_PROLOGUE_opcode: label_YIELDPOINT_PROLOGUE(p); break;
7340            case YIELDPOINT_EPILOGUE_opcode: label_YIELDPOINT_EPILOGUE(p); break;
7341            case YIELDPOINT_BACKEDGE_opcode: label_YIELDPOINT_BACKEDGE(p); break;
7342            case YIELDPOINT_OSR_opcode: label_YIELDPOINT_OSR(p); break;
7343            case IR_PROLOGUE_opcode: label_IR_PROLOGUE(p); break;
7344            case RESOLVE_opcode: label_RESOLVE(p); break;
7345            case GET_TIME_BASE_opcode: label_GET_TIME_BASE(p); break;
7346            case TRAP_IF_opcode: label_TRAP_IF(p); break;
7347            case TRAP_opcode: label_TRAP(p); break;
7348            case FLOAT_AS_INT_BITS_opcode: label_FLOAT_AS_INT_BITS(p); break;
7349            case INT_BITS_AS_FLOAT_opcode: label_INT_BITS_AS_FLOAT(p); break;
7350            case DOUBLE_AS_LONG_BITS_opcode: label_DOUBLE_AS_LONG_BITS(p); break;
7351            case LONG_BITS_AS_DOUBLE_opcode: label_LONG_BITS_AS_DOUBLE(p); break;
7352            case LOWTABLESWITCH_opcode: label_LOWTABLESWITCH(p); break;
7353            case ADDRESS_CONSTANT_opcode: label_ADDRESS_CONSTANT(p); break;
7354            case INT_CONSTANT_opcode: label_INT_CONSTANT(p); break;
7355            case LONG_CONSTANT_opcode: label_LONG_CONSTANT(p); break;
7356            case REGISTER_opcode: label_REGISTER(p); break;
7357            case OTHER_OPERAND_opcode: label_OTHER_OPERAND(p); break;
7358            case NULL_opcode: label_NULL(p); break;
7359            case BRANCH_TARGET_opcode: label_BRANCH_TARGET(p); break;
7360            case MATERIALIZE_FP_CONSTANT_opcode: label_MATERIALIZE_FP_CONSTANT(p); break;
7361            case GET_CURRENT_PROCESSOR_opcode: label_GET_CURRENT_PROCESSOR(p); break;
7362            case CLEAR_FLOATING_POINT_STATE_opcode: label_CLEAR_FLOATING_POINT_STATE(p); break;
7363            case PREFETCH_opcode: label_PREFETCH(p); break;
7364            case PAUSE_opcode: label_PAUSE(p); break;
7365            case CMP_CMOV_opcode: label_CMP_CMOV(p); break;
7366            case FCMP_CMOV_opcode: label_FCMP_CMOV(p); break;
7367            case LCMP_CMOV_opcode: label_LCMP_CMOV(p); break;
7368            case FCMP_FCMOV_opcode: label_FCMP_FCMOV(p); break;
7369            default:
7370                    throw new OptimizingCompilerException("BURS","terminal not in grammar:",OperatorNames.operatorName[p.getOpcode()]);     }
7371    }
7372    
7373    static BURS_TreeNode kids(BURS_TreeNode p, int eruleno, int kidnumber)  { 
7374            if (BURS.DEBUG) {
7375            switch (eruleno) {
7376            case 37: // address: address1scaledreg
7377            case 36: // address1scaledreg: address1reg
7378            case 33: // load8_16_32: load8
7379            case 32: // load8_16_32: load16_32
7380            case 31: // load16_32: load32
7381            case 30: // load16_32: load16
7382            case 27: // load16: uload16
7383            case 26: // load16: sload16
7384            case 21: // load8: uload8
7385            case 20: // load8: sload8
7386            case 12: // any: riv
7387            case 9: // rlv: r
7388            case 7: // riv: r
7389            case 6: // szp: szpr
7390            case 5: // r: szpr
7391            case 4: // cz: czr
7392            case 3: // r: czr
7393            case 1: // stm: r
7394                    if (kidnumber == 0)  return p;
7395                    break;
7396            case 456: // stm: CLEAR_FLOATING_POINT_STATE
7397            case 455: // double_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
7398            case 454: // float_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
7399            case 453: // r: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
7400            case 379: // r: GET_TIME_BASE
7401            case 371: // stm: RETURN(LONG_CONSTANT)
7402            case 369: // stm: RETURN(INT_CONSTANT)
7403            case 368: // stm: RETURN(NULL)
7404            case 367: // stm: PAUSE
7405            case 366: // stm: READ_CEILING
7406            case 365: // stm: WRITE_FLOOR
7407            case 363: // stm: GOTO
7408            case 270: // r: GET_CURRENT_PROCESSOR
7409            case 269: // r: LONG_MOVE(LONG_CONSTANT)
7410            case 70: // stm: TRAP
7411            case 68: // r: GET_CAUGHT_EXCEPTION
7412            case 67: // stm: IR_PROLOGUE
7413            case 65: // r: GUARD_COMBINE
7414            case 64: // r: GUARD_MOVE
7415            case 63: // stm: NOP
7416            case 62: // stm: RESOLVE
7417            case 60: // stm: YIELDPOINT_BACKEDGE
7418            case 59: // stm: YIELDPOINT_EPILOGUE
7419            case 58: // stm: YIELDPOINT_PROLOGUE
7420            case 57: // stm: UNINT_END
7421            case 56: // stm: UNINT_BEGIN
7422            case 55: // stm: IG_PATCH_POINT
7423            case 14: // any: LONG_CONSTANT
7424            case 13: // any: ADDRESS_CONSTANT
7425            case 11: // any: NULL
7426            case 10: // rlv: LONG_CONSTANT
7427            case 8: // riv: INT_CONSTANT
7428            case 2: // r: REGISTER
7429                    break;
7430            case 462: // stm: DOUBLE_IFCMP(double_load,r)
7431            case 461: // stm: DOUBLE_IFCMP(r,double_load)
7432            case 460: // stm: DOUBLE_IFCMP(r,r)
7433            case 459: // stm: FLOAT_IFCMP(float_load,r)
7434            case 458: // stm: FLOAT_IFCMP(r,float_load)
7435            case 457: // stm: FLOAT_IFCMP(r,r)
7436            case 428: // float_load: FLOAT_ALOAD(riv,riv)
7437            case 427: // r: FLOAT_ALOAD(riv,riv)
7438            case 426: // float_load: FLOAT_LOAD(riv,riv)
7439            case 425: // r: FLOAT_LOAD(riv,riv)
7440            case 424: // double_load: DOUBLE_ALOAD(riv,riv)
7441            case 423: // r: DOUBLE_ALOAD(riv,riv)
7442            case 422: // double_load: DOUBLE_LOAD(riv,riv)
7443            case 421: // r: DOUBLE_LOAD(riv,riv)
7444            case 416: // r: DOUBLE_REM(r,r)
7445            case 415: // r: FLOAT_REM(r,r)
7446            case 410: // r: DOUBLE_DIV(r,double_load)
7447            case 409: // r: DOUBLE_DIV(r,r)
7448            case 408: // r: FLOAT_DIV(r,float_load)
7449            case 407: // r: FLOAT_DIV(r,r)
7450            case 406: // r: DOUBLE_MUL(double_load,r)
7451            case 405: // r: DOUBLE_MUL(r,double_load)
7452            case 404: // r: DOUBLE_MUL(r,r)
7453            case 403: // r: FLOAT_MUL(float_load,r)
7454            case 402: // r: FLOAT_MUL(r,float_load)
7455            case 401: // r: FLOAT_MUL(r,r)
7456            case 400: // r: DOUBLE_SUB(r,double_load)
7457            case 399: // r: DOUBLE_SUB(r,r)
7458            case 398: // r: FLOAT_SUB(r,float_load)
7459            case 397: // r: FLOAT_SUB(r,r)
7460            case 396: // r: DOUBLE_ADD(double_load,r)
7461            case 395: // r: DOUBLE_ADD(r,double_load)
7462            case 394: // r: DOUBLE_ADD(r,r)
7463            case 393: // r: FLOAT_ADD(float_load,r)
7464            case 392: // r: FLOAT_ADD(r,float_load)
7465            case 391: // r: FLOAT_ADD(r,r)
7466            case 380: // stm: YIELDPOINT_OSR(any,any)
7467            case 376: // r: SYSCALL(r,any)
7468            case 372: // r: CALL(r,any)
7469            case 362: // r: LONG_CMP(rlv,rlv)
7470            case 361: // stm: LONG_IFCMP(rlv,rlv)
7471            case 360: // stm: INT_IFCMP2(riv,load32)
7472            case 359: // stm: INT_IFCMP2(load32,riv)
7473            case 358: // stm: INT_IFCMP2(r,riv)
7474            case 352: // stm: INT_IFCMP(r,load32)
7475            case 351: // stm: INT_IFCMP(load32,riv)
7476            case 349: // stm: INT_IFCMP(r,uload8)
7477            case 348: // stm: INT_IFCMP(uload8,r)
7478            case 345: // stm: INT_IFCMP(r,riv)
7479            case 303: // r: PREPARE_LONG(riv,riv)
7480            case 300: // r: PREPARE_INT(address1reg,address1scaledreg)
7481            case 299: // r: PREPARE_INT(address1scaledreg,address1reg)
7482            case 298: // r: PREPARE_INT(address1scaledreg,r)
7483            case 297: // r: PREPARE_INT(r,address1scaledreg)
7484            case 296: // r: PREPARE_INT(riv,riv)
7485            case 295: // r: LONG_ALOAD(riv,riv)
7486            case 294: // r: LONG_LOAD(riv,riv)
7487            case 293: // r: INT_ALOAD(riv,riv)
7488            case 291: // r: INT_LOAD(address1reg,address1scaledreg)
7489            case 290: // r: INT_LOAD(address1scaledreg,address1reg)
7490            case 289: // r: INT_LOAD(address1scaledreg,riv)
7491            case 288: // r: INT_LOAD(riv,address1scaledreg)
7492            case 287: // r: INT_LOAD(riv,riv)
7493            case 282: // r: USHORT_ALOAD(riv,riv)
7494            case 281: // r: USHORT_LOAD(riv,riv)
7495            case 280: // r: SHORT_ALOAD(riv,riv)
7496            case 279: // r: SHORT_LOAD(riv,riv)
7497            case 274: // r: UBYTE_ALOAD(riv,riv)
7498            case 273: // r: UBYTE_LOAD(riv,riv)
7499            case 272: // r: BYTE_ALOAD(riv,riv)
7500            case 271: // r: BYTE_LOAD(riv,riv)
7501            case 220: // r: LONG_XOR(r,rlv)
7502            case 219: // r: LONG_OR(rlv,rlv)
7503            case 218: // r: LONG_AND(rlv,rlv)
7504            case 216: // r: LONG_USHR(rlv,riv)
7505            case 214: // r: LONG_SHR(rlv,riv)
7506            case 212: // r: LONG_SHL(rlv,riv)
7507            case 210: // r: LONG_MUL(rlv,rlv)
7508            case 209: // r: LONG_SUB(rlv,rlv)
7509            case 208: // r: LONG_ADD(r,rlv)
7510            case 200: // szpr: INT_XOR(load32,riv)
7511            case 199: // szpr: INT_XOR(riv,load32)
7512            case 198: // szpr: INT_XOR(riv,riv)
7513            case 193: // szpr: INT_OR(load32,riv)
7514            case 192: // szpr: INT_OR(riv,load32)
7515            case 191: // szpr: INT_OR(riv,riv)
7516            case 186: // szp: INT_AND(riv,load8_16_32)
7517            case 185: // szp: INT_AND(load8_16_32,riv)
7518            case 184: // szpr: INT_AND(load32,riv)
7519            case 183: // szpr: INT_AND(riv,load32)
7520            case 182: // szp: INT_AND(r,riv)
7521            case 181: // szpr: INT_AND(riv,riv)
7522            case 167: // szpr: INT_USHR(riv,riv)
7523            case 160: // szpr: INT_SHR(riv,riv)
7524            case 151: // szpr: INT_SHL(riv,riv)
7525            case 146: // r: INT_REM(riv,load32)
7526            case 145: // r: INT_REM(riv,riv)
7527            case 144: // r: INT_DIV(riv,load32)
7528            case 143: // r: INT_DIV(riv,riv)
7529            case 142: // r: INT_MUL(load32,riv)
7530            case 141: // r: INT_MUL(riv,load32)
7531            case 140: // r: INT_MUL(riv,riv)
7532            case 135: // czr: INT_SUB(load32,riv)
7533            case 134: // czr: INT_SUB(riv,load32)
7534            case 133: // r: INT_SUB(load32,r)
7535            case 132: // r: INT_SUB(riv,r)
7536            case 131: // czr: INT_SUB(riv,r)
7537            case 126: // czr: INT_ADD(load32,riv)
7538            case 125: // czr: INT_ADD(riv,load32)
7539            case 124: // r: INT_ADD(r,riv)
7540            case 123: // czr: INT_ADD(r,riv)
7541            case 104: // boolcmp: BOOLEAN_CMP_LONG(rlv,rlv)
7542            case 103: // r: BOOLEAN_CMP_LONG(rlv,rlv)
7543            case 100: // boolcmp: BOOLEAN_CMP_INT(riv,load32)
7544            case 99: // r: BOOLEAN_CMP_INT(r,load32)
7545            case 98: // boolcmp: BOOLEAN_CMP_INT(load32,riv)
7546            case 97: // r: BOOLEAN_CMP_INT(load32,riv)
7547            case 80: // boolcmp: BOOLEAN_CMP_INT(r,riv)
7548            case 79: // r: BOOLEAN_CMP_INT(r,riv)
7549            case 75: // stm: TRAP_IF(riv,load32)
7550            case 74: // stm: TRAP_IF(load32,riv)
7551            case 73: // stm: TRAP_IF(r,r)
7552            case 52: // r: INT_ADD(address1reg,address1scaledreg)
7553            case 51: // r: INT_ADD(address1scaledreg,address1reg)
7554            case 50: // r: INT_ADD(r,address1scaledreg)
7555            case 49: // r: INT_ADD(address1scaledreg,r)
7556            case 48: // address: INT_ADD(address1reg,address1scaledreg)
7557            case 47: // address: INT_ADD(address1scaledreg,address1reg)
7558            case 45: // address: INT_ADD(address1scaledreg,r)
7559            case 44: // address: INT_ADD(r,address1scaledreg)
7560            case 41: // address: INT_ADD(r,r)
7561            case 35: // load64: LONG_ALOAD(riv,riv)
7562            case 34: // load64: LONG_LOAD(riv,riv)
7563            case 29: // load32: INT_ALOAD(riv,riv)
7564            case 28: // load32: INT_LOAD(riv,riv)
7565            case 25: // uload16: USHORT_ALOAD(riv,riv)
7566            case 24: // uload16: USHORT_LOAD(riv,riv)
7567            case 23: // sload16: SHORT_ALOAD(riv,riv)
7568            case 22: // sload16: SHORT_LOAD(riv,riv)
7569            case 19: // uload8: UBYTE_ALOAD(riv,riv)
7570            case 18: // uload8: UBYTE_LOAD(riv,riv)
7571            case 17: // sload8: BYTE_ALOAD(riv,riv)
7572            case 16: // sload8: BYTE_LOAD(riv,riv)
7573            case 15: // any: OTHER_OPERAND(any,any)
7574                    if (kidnumber == 0)  return p.child1;
7575                    if (kidnumber == 1)  return p.child2;
7576                    break;
7577            case 452: // double_load: LONG_BITS_AS_DOUBLE(load64)
7578            case 451: // r: LONG_BITS_AS_DOUBLE(rlv)
7579            case 450: // float_load: INT_BITS_AS_FLOAT(load32)
7580            case 449: // r: INT_BITS_AS_FLOAT(riv)
7581            case 448: // load64: DOUBLE_AS_LONG_BITS(double_load)
7582            case 447: // r: DOUBLE_AS_LONG_BITS(r)
7583            case 446: // load32: FLOAT_AS_INT_BITS(float_load)
7584            case 445: // r: FLOAT_AS_INT_BITS(r)
7585            case 444: // r: DOUBLE_2LONG(r)
7586            case 443: // r: DOUBLE_2INT(r)
7587            case 442: // r: FLOAT_2LONG(r)
7588            case 441: // r: FLOAT_2INT(r)
7589            case 440: // r: DOUBLE_2FLOAT(double_load)
7590            case 439: // r: DOUBLE_2FLOAT(r)
7591            case 438: // r: FLOAT_2DOUBLE(float_load)
7592            case 437: // r: FLOAT_2DOUBLE(r)
7593            case 436: // r: INT_2DOUBLE(load32)
7594            case 435: // r: INT_2DOUBLE(riv)
7595            case 434: // r: INT_2FLOAT(load32)
7596            case 433: // r: INT_2FLOAT(riv)
7597            case 420: // r: DOUBLE_MOVE(r)
7598            case 419: // r: FLOAT_MOVE(r)
7599            case 418: // r: LONG_2DOUBLE(r)
7600            case 417: // r: LONG_2FLOAT(r)
7601            case 414: // r: DOUBLE_SQRT(r)
7602            case 413: // r: FLOAT_SQRT(r)
7603            case 412: // r: DOUBLE_NEG(r)
7604            case 411: // r: FLOAT_NEG(r)
7605            case 370: // stm: RETURN(r)
7606            case 364: // stm: PREFETCH(r)
7607            case 357: // stm: INT_IFCMP(bittest,INT_CONSTANT)
7608            case 356: // stm: INT_IFCMP(szp,INT_CONSTANT)
7609            case 355: // stm: INT_IFCMP(cz,INT_CONSTANT)
7610            case 354: // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
7611            case 353: // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
7612            case 350: // stm: INT_IFCMP(sload16,INT_CONSTANT)
7613            case 347: // stm: INT_IFCMP(load8,INT_CONSTANT)
7614            case 346: // stm: INT_IFCMP(r,INT_CONSTANT)
7615            case 301: // r: PREPARE_INT(address,INT_CONSTANT)
7616            case 292: // r: INT_LOAD(address,INT_CONSTANT)
7617            case 285: // r: INT_2USHORT(load16_32)
7618            case 284: // r: INT_2USHORT(load16_32)
7619            case 283: // r: INT_AND(load16_32,INT_CONSTANT)
7620            case 277: // r: INT_2BYTE(load8_16_32)
7621            case 276: // r: INT_AND(load8_16_32,INT_CONSTANT)
7622            case 275: // uload8: INT_AND(load8_16_32,INT_CONSTANT)
7623            case 268: // r: LONG_MOVE(r)
7624            case 267: // load64: LONG_MOVE(load64)
7625            case 266: // load32: INT_MOVE(load32)
7626            case 265: // load16: INT_MOVE(load16)
7627            case 264: // uload16: INT_MOVE(uload16)
7628            case 263: // sload16: INT_MOVE(sload16)
7629            case 262: // load8: INT_MOVE(load8)
7630            case 261: // uload8: INT_MOVE(uload8)
7631            case 260: // sload8: INT_MOVE(sload8)
7632            case 259: // address: INT_MOVE(address)
7633            case 258: // address1scaledreg: INT_MOVE(address1scaledreg)
7634            case 257: // address1reg: INT_MOVE(address1reg)
7635            case 256: // szp: INT_MOVE(szp)
7636            case 255: // szpr: INT_MOVE(szpr)
7637            case 254: // cz: INT_MOVE(cz)
7638            case 253: // czr: INT_MOVE(czr)
7639            case 252: // r: INT_MOVE(riv)
7640            case 245: // r: LONG_2INT(load64)
7641            case 242: // r: LONG_2INT(r)
7642            case 241: // r: ADDR_2LONG(load32)
7643            case 240: // r: ADDR_2LONG(r)
7644            case 235: // r: INT_2LONG(load32)
7645            case 234: // r: INT_2LONG(r)
7646            case 231: // r: INT_2SHORT(load16_32)
7647            case 230: // r: INT_2SHORT(r)
7648            case 227: // r: INT_2USHORT(load16_32)
7649            case 226: // szpr: INT_2USHORT(r)
7650            case 223: // r: INT_2BYTE(load8_16_32)
7651            case 222: // r: INT_2BYTE(r)
7652            case 221: // r: LONG_NOT(r)
7653            case 211: // r: LONG_NEG(r)
7654            case 205: // r: INT_NOT(r)
7655            case 168: // szpr: INT_USHR(riv,INT_CONSTANT)
7656            case 161: // szpr: INT_SHR(riv,INT_CONSTANT)
7657            case 153: // r: INT_SHL(r,INT_CONSTANT)
7658            case 152: // szpr: INT_SHL(r,INT_CONSTANT)
7659            case 147: // szpr: INT_NEG(r)
7660            case 110: // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
7661            case 109: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
7662            case 108: // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
7663            case 107: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
7664            case 96: // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
7665            case 95: // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
7666            case 94: // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
7667            case 93: // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
7668            case 92: // boolcmp: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
7669            case 91: // r: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
7670            case 90: // boolcmp: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
7671            case 89: // r: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
7672            case 88: // boolcmp: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
7673            case 87: // r: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
7674            case 86: // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
7675            case 85: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
7676            case 84: // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
7677            case 83: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
7678            case 82: // boolcmp: BOOLEAN_CMP_INT(r,INT_CONSTANT)
7679            case 81: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
7680            case 76: // r: BOOLEAN_NOT(r)
7681            case 72: // stm: TRAP_IF(r,LONG_CONSTANT)
7682            case 71: // stm: TRAP_IF(r,INT_CONSTANT)
7683            case 69: // stm: SET_CAUGHT_EXCEPTION(r)
7684            case 66: // stm: NULL_CHECK(riv)
7685            case 61: // stm: LOWTABLESWITCH(r)
7686            case 54: // r: INT_MOVE(address)
7687            case 53: // r: INT_ADD(address,INT_CONSTANT)
7688            case 46: // address: INT_ADD(address1scaledreg,INT_CONSTANT)
7689            case 43: // address1scaledreg: INT_ADD(address1scaledreg,INT_CONSTANT)
7690            case 42: // address1reg: INT_ADD(address1reg,INT_CONSTANT)
7691            case 40: // address1reg: INT_MOVE(r)
7692            case 39: // address1reg: INT_ADD(r,INT_CONSTANT)
7693            case 38: // address1scaledreg: INT_SHL(r,INT_CONSTANT)
7694                    if (kidnumber == 0)  return p.child1;
7695                    break;
7696            case 207: // stm: INT_ASTORE(INT_NOT(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7697            case 206: // stm: INT_STORE(INT_NOT(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7698            case 172: // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7699            case 170: // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7700            case 165: // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7701            case 163: // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7702            case 158: // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7703            case 156: // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7704            case 149: // stm: INT_ASTORE(INT_NEG(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7705            case 148: // stm: INT_STORE(INT_NEG(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7706            case 78: // stm: BYTE_ASTORE(BOOLEAN_NOT(UBYTE_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7707            case 77: // stm: BYTE_STORE(BOOLEAN_NOT(UBYTE_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7708                    if (kidnumber == 0)  return p.child1.child1.child1;
7709                    if (kidnumber == 1)  return p.child1.child1.child2;
7710                    if (kidnumber == 2)  return p.child2.child1;
7711                    if (kidnumber == 3)  return p.child2.child2;
7712                    break;
7713            case 484: // stm: LONG_STORE(load64,OTHER_OPERAND(riv,riv))
7714            case 483: // stm: LONG_ASTORE(load64,OTHER_OPERAND(riv,riv))
7715            case 474: // r: FCMP_FCMOV(r,OTHER_OPERAND(double_load,any))
7716            case 473: // r: FCMP_FCMOV(r,OTHER_OPERAND(float_load,any))
7717            case 468: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,any))
7718            case 467: // r: FCMP_CMOV(double_load,OTHER_OPERAND(r,any))
7719            case 466: // r: FCMP_CMOV(float_load,OTHER_OPERAND(r,any))
7720            case 465: // r: FCMP_CMOV(r,OTHER_OPERAND(double_load,any))
7721            case 464: // r: FCMP_CMOV(r,OTHER_OPERAND(float_load,any))
7722            case 463: // r: FCMP_CMOV(r,OTHER_OPERAND(r,any))
7723            case 432: // stm: FLOAT_ASTORE(r,OTHER_OPERAND(riv,riv))
7724            case 431: // stm: FLOAT_STORE(r,OTHER_OPERAND(riv,riv))
7725            case 430: // stm: DOUBLE_ASTORE(r,OTHER_OPERAND(riv,riv))
7726            case 429: // stm: DOUBLE_STORE(r,OTHER_OPERAND(riv,riv))
7727            case 343: // stm: LONG_ASTORE(r,OTHER_OPERAND(riv,riv))
7728            case 341: // stm: LONG_STORE(r,OTHER_OPERAND(riv,riv))
7729            case 340: // stm: INT_ASTORE(riv,OTHER_OPERAND(riv,riv))
7730            case 338: // stm: INT_STORE(riv,OTHER_OPERAND(address1reg,address1scaledreg))
7731            case 337: // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,address1reg))
7732            case 336: // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,riv))
7733            case 335: // stm: INT_STORE(riv,OTHER_OPERAND(riv,address1scaledreg))
7734            case 334: // stm: INT_STORE(riv,OTHER_OPERAND(riv,riv))
7735            case 333: // stm: SHORT_ASTORE(load16,OTHER_OPERAND(riv,riv))
7736            case 332: // stm: SHORT_ASTORE(riv,OTHER_OPERAND(riv,riv))
7737            case 331: // stm: SHORT_STORE(load16,OTHER_OPERAND(riv,riv))
7738            case 330: // stm: SHORT_STORE(riv,OTHER_OPERAND(riv,riv))
7739            case 329: // stm: BYTE_ASTORE(load8,OTHER_OPERAND(riv,riv))
7740            case 328: // stm: BYTE_ASTORE(riv,OTHER_OPERAND(riv,riv))
7741            case 327: // stm: BYTE_STORE(load8,OTHER_OPERAND(riv,riv))
7742            case 326: // stm: BYTE_STORE(riv,OTHER_OPERAND(riv,riv))
7743            case 122: // r: LCMP_CMOV(r,OTHER_OPERAND(rlv,any))
7744            case 116: // r: CMP_CMOV(riv,OTHER_OPERAND(load32,any))
7745            case 115: // r: CMP_CMOV(load32,OTHER_OPERAND(riv,any))
7746            case 113: // r: CMP_CMOV(riv,OTHER_OPERAND(uload8,any))
7747            case 112: // r: CMP_CMOV(uload8,OTHER_OPERAND(riv,any))
7748            case 105: // r: CMP_CMOV(r,OTHER_OPERAND(riv,any))
7749            case 102: // stm: BYTE_ASTORE(boolcmp,OTHER_OPERAND(riv,riv))
7750            case 101: // stm: BYTE_STORE(boolcmp,OTHER_OPERAND(riv,riv))
7751                    if (kidnumber == 0)  return p.child1;
7752                    if (kidnumber == 1)  return p.child2.child1;
7753                    if (kidnumber == 2)  return p.child2.child2;
7754                    break;
7755            case 121: // r: CMP_CMOV(szp,OTHER_OPERAND(INT_CONSTANT,any))
7756            case 120: // r: CMP_CMOV(cz,OTHER_OPERAND(INT_CONSTANT,any))
7757            case 119: // r: CMP_CMOV(bittest,OTHER_OPERAND(INT_CONSTANT,any))
7758            case 118: // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
7759            case 117: // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
7760            case 114: // r: CMP_CMOV(sload16,OTHER_OPERAND(INT_CONSTANT,any))
7761            case 111: // r: CMP_CMOV(load8,OTHER_OPERAND(INT_CONSTANT,any))
7762            case 106: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,any))
7763                    if (kidnumber == 0)  return p.child1;
7764                    if (kidnumber == 1)  return p.child2.child2;
7765                    break;
7766            case 203: // stm: INT_ASTORE(INT_XOR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7767            case 201: // stm: INT_STORE(INT_XOR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7768            case 196: // stm: INT_ASTORE(INT_OR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7769            case 194: // stm: INT_STORE(INT_OR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7770            case 189: // stm: INT_ASTORE(INT_AND(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7771            case 187: // stm: INT_STORE(INT_AND(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7772            case 138: // stm: INT_ASTORE(INT_SUB(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7773            case 136: // stm: INT_STORE(INT_SUB(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7774            case 129: // stm: INT_ASTORE(INT_ADD(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7775            case 127: // stm: INT_STORE(INT_ADD(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7776                    if (kidnumber == 0)  return p.child1.child1.child1;
7777                    if (kidnumber == 1)  return p.child1.child1.child2;
7778                    if (kidnumber == 2)  return p.child1.child2;
7779                    if (kidnumber == 3)  return p.child2.child1;
7780                    if (kidnumber == 4)  return p.child2.child2;
7781                    break;
7782            case 204: // stm: INT_ASTORE(INT_XOR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7783            case 202: // stm: INT_STORE(INT_XOR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7784            case 197: // stm: INT_ASTORE(INT_OR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7785            case 195: // stm: INT_STORE(INT_OR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7786            case 190: // stm: INT_ASTORE(INT_AND(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7787            case 188: // stm: INT_STORE(INT_AND(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7788            case 139: // stm: INT_ASTORE(INT_SUB(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7789            case 137: // stm: INT_STORE(INT_SUB(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7790            case 130: // stm: INT_ASTORE(INT_ADD(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7791            case 128: // stm: INT_STORE(INT_ADD(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7792                    if (kidnumber == 0)  return p.child1.child1;
7793                    if (kidnumber == 1)  return p.child1.child2.child1;
7794                    if (kidnumber == 2)  return p.child1.child2.child2;
7795                    if (kidnumber == 3)  return p.child2.child1;
7796                    if (kidnumber == 4)  return p.child2.child2;
7797                    break;
7798            case 339: // stm: INT_STORE(riv,OTHER_OPERAND(address,INT_CONSTANT))
7799            case 217: // r: LONG_USHR(rlv,INT_AND(riv,INT_CONSTANT))
7800            case 215: // r: LONG_SHR(rlv,INT_AND(riv,INT_CONSTANT))
7801            case 213: // r: LONG_SHL(rlv,INT_AND(riv,INT_CONSTANT))
7802            case 166: // szpr: INT_USHR(riv,INT_AND(r,INT_CONSTANT))
7803            case 159: // szpr: INT_SHR(riv,INT_AND(r,INT_CONSTANT))
7804            case 150: // szpr: INT_SHL(riv,INT_AND(r,INT_CONSTANT))
7805                    if (kidnumber == 0)  return p.child1;
7806                    if (kidnumber == 1)  return p.child2.child1;
7807                    break;
7808            case 386: // bittest: INT_AND(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
7809            case 383: // bittest: INT_AND(INT_USHR(r,INT_CONSTANT),INT_CONSTANT)
7810            case 286: // r: INT_USHR(INT_SHL(load16_32,INT_CONSTANT),INT_CONSTANT)
7811            case 278: // r: INT_USHR(INT_SHL(load8_16_32,INT_CONSTANT),INT_CONSTANT)
7812            case 251: // load32: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
7813            case 250: // load32: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
7814            case 249: // r: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
7815            case 248: // r: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
7816            case 247: // r: LONG_2INT(LONG_SHR(r,INT_CONSTANT))
7817            case 246: // r: LONG_2INT(LONG_USHR(r,INT_CONSTANT))
7818            case 239: // r: LONG_SHL(INT_2LONG(load64),INT_CONSTANT)
7819            case 238: // r: LONG_SHL(INT_2LONG(r),INT_CONSTANT)
7820            case 237: // r: LONG_AND(INT_2LONG(load32),LONG_CONSTANT)
7821            case 236: // r: LONG_AND(INT_2LONG(r),LONG_CONSTANT)
7822            case 154: // szpr: INT_SHL(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
7823                    if (kidnumber == 0)  return p.child1.child1;
7824                    break;
7825            case 171: // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7826            case 169: // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7827            case 164: // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7828            case 162: // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7829            case 157: // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7830            case 155: // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7831                    if (kidnumber == 0)  return p.child1.child1.child1;
7832                    if (kidnumber == 1)  return p.child1.child1.child2;
7833                    if (kidnumber == 2)  return p.child1.child2.child1;
7834                    if (kidnumber == 3)  return p.child2.child1;
7835                    if (kidnumber == 4)  return p.child2.child2;
7836                    break;
7837            case 176: // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
7838            case 175: // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
7839            case 174: // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
7840            case 173: // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
7841                    if (kidnumber == 0)  return p.child1.child1;
7842                    if (kidnumber == 1)  return p.child2.child1;
7843                    break;
7844            case 180: // r: INT_OR(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
7845            case 177: // r: INT_OR(INT_SHL(r,INT_AND(r,INT_CONSTANT)),INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
7846                    if (kidnumber == 0)  return p.child1.child1;
7847                    if (kidnumber == 1)  return p.child1.child2.child1;
7848                    if (kidnumber == 2)  return p.child2.child1;
7849                    if (kidnumber == 3)  return p.child2.child2.child1.child1;
7850                    break;
7851            case 179: // r: INT_OR(INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_USHR(r,INT_AND(r,INT_CONSTANT)))
7852            case 178: // r: INT_OR(INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_SHL(r,INT_AND(r,INT_CONSTANT)))
7853                    if (kidnumber == 0)  return p.child1.child1;
7854                    if (kidnumber == 1)  return p.child1.child2.child1.child1;
7855                    if (kidnumber == 2)  return p.child2.child1;
7856                    if (kidnumber == 3)  return p.child2.child2.child1;
7857                    break;
7858            case 244: // stm: INT_ASTORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
7859            case 243: // stm: INT_STORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
7860            case 233: // stm: SHORT_ASTORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
7861            case 232: // stm: SHORT_STORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
7862            case 229: // stm: SHORT_ASTORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
7863            case 228: // stm: SHORT_STORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
7864            case 225: // stm: BYTE_ASTORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
7865            case 224: // stm: BYTE_STORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
7866                    if (kidnumber == 0)  return p.child1.child1;
7867                    if (kidnumber == 1)  return p.child2.child1;
7868                    if (kidnumber == 2)  return p.child2.child2;
7869                    break;
7870            case 378: // r: SYSCALL(INT_CONSTANT,any)
7871            case 375: // r: CALL(INT_CONSTANT,any)
7872            case 373: // r: CALL(BRANCH_TARGET,any)
7873            case 302: // r: PREPARE_INT(INT_CONSTANT,address)
7874                    if (kidnumber == 0)  return p.child2;
7875                    break;
7876            case 472: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(double_load,r)))
7877            case 471: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(float_load,r)))
7878            case 470: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,double_load)))
7879            case 469: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,float_load)))
7880            case 325: // r: ATTEMPT_LONG(riv,OTHER_OPERAND(riv,OTHER_OPERAND(rlv,rlv)))
7881            case 308: // r: ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
7882            case 307: // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv)))
7883            case 306: // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv)))
7884            case 305: // r: ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
7885            case 304: // r: ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv)))
7886                    if (kidnumber == 0)  return p.child1;
7887                    if (kidnumber == 1)  return p.child2.child1;
7888                    if (kidnumber == 2)  return p.child2.child2.child1;
7889                    if (kidnumber == 3)  return p.child2.child2.child2;
7890                    break;
7891            case 309: // r: ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv)))
7892                    if (kidnumber == 0)  return p.child1;
7893                    if (kidnumber == 1)  return p.child2.child2.child1;
7894                    if (kidnumber == 2)  return p.child2.child2.child2;
7895                    break;
7896            case 310: // r: ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv)))
7897                    if (kidnumber == 0)  return p.child2.child1;
7898                    if (kidnumber == 1)  return p.child2.child2.child1;
7899                    if (kidnumber == 2)  return p.child2.child2.child2;
7900                    break;
7901            case 322: // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7902            case 321: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7903            case 320: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7904            case 319: // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7905            case 318: // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7906            case 315: // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7907            case 314: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7908            case 313: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7909            case 312: // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7910            case 311: // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7911                    if (kidnumber == 0)  return p.child1.child1;
7912                    if (kidnumber == 1)  return p.child1.child2.child1;
7913                    if (kidnumber == 2)  return p.child1.child2.child2.child1;
7914                    if (kidnumber == 3)  return p.child1.child2.child2.child2;
7915                    break;
7916            case 323: // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7917            case 316: // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7918                    if (kidnumber == 0)  return p.child1.child1;
7919                    if (kidnumber == 1)  return p.child1.child2.child2.child1;
7920                    if (kidnumber == 2)  return p.child1.child2.child2.child2;
7921                    break;
7922            case 324: // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7923            case 317: // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7924                    if (kidnumber == 0)  return p.child1.child2.child1;
7925                    if (kidnumber == 1)  return p.child1.child2.child2.child1;
7926                    if (kidnumber == 2)  return p.child1.child2.child2.child2;
7927                    break;
7928            case 344: // stm: LONG_ASTORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
7929            case 342: // stm: LONG_STORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
7930                    if (kidnumber == 0)  return p.child2.child1;
7931                    if (kidnumber == 1)  return p.child2.child2;
7932                    break;
7933            case 377: // r: SYSCALL(INT_LOAD(riv,riv),any)
7934            case 374: // r: CALL(INT_LOAD(riv,riv),any)
7935                    if (kidnumber == 0)  return p.child1.child1;
7936                    if (kidnumber == 1)  return p.child1.child2;
7937                    if (kidnumber == 2)  return p.child2;
7938                    break;
7939            case 385: // bittest: INT_AND(INT_SHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
7940            case 384: // bittest: INT_AND(INT_SHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
7941            case 382: // bittest: INT_AND(INT_USHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
7942            case 381: // bittest: INT_AND(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
7943                    if (kidnumber == 0)  return p.child1.child1;
7944                    if (kidnumber == 1)  return p.child1.child2.child1;
7945                    break;
7946            case 388: // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)),load32)
7947            case 387: // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(riv,INT_CONSTANT)),r)
7948                    if (kidnumber == 0)  return p.child1.child2.child1;
7949                    if (kidnumber == 1)  return p.child2;
7950                    break;
7951            case 390: // bittest: INT_AND(load32,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
7952            case 389: // bittest: INT_AND(r,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
7953                    if (kidnumber == 0)  return p.child1;
7954                    if (kidnumber == 1)  return p.child2.child2.child1;
7955                    break;
7956            case 479: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,DOUBLE_NEG(r))))
7957            case 475: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,FLOAT_NEG(r))))
7958                    if (kidnumber == 0)  return p.child1;
7959                    if (kidnumber == 1)  return p.child2.child2.child1;
7960                    if (kidnumber == 2)  return p.child2.child2.child2.child1;
7961                    break;
7962            case 480: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(DOUBLE_NEG(r),r)))
7963            case 476: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(FLOAT_NEG(r),r)))
7964                    if (kidnumber == 0)  return p.child1;
7965                    if (kidnumber == 1)  return p.child2.child2.child1.child1;
7966                    if (kidnumber == 2)  return p.child2.child2.child2;
7967                    break;
7968            case 481: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(DOUBLE_NEG(r),r)))
7969            case 477: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(FLOAT_NEG(r),r)))
7970                    if (kidnumber == 0)  return p.child2.child1;
7971                    if (kidnumber == 1)  return p.child2.child2.child1.child1;
7972                    if (kidnumber == 2)  return p.child2.child2.child2;
7973                    break;
7974            case 482: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,DOUBLE_NEG(r))))
7975            case 478: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,FLOAT_NEG(r))))
7976                    if (kidnumber == 0)  return p.child2.child1;
7977                    if (kidnumber == 1)  return p.child2.child2.child1;
7978                    if (kidnumber == 2)  return p.child2.child2.child2.child1;
7979                    break;
7980            }
7981            throw new OptimizingCompilerException("BURS","Bad rule number ",Integer.toString(eruleno));
7982    } else return null;
7983    }
7984    
7985    static void mark_kids(BURS_TreeNode p, int eruleno)
7986             {
7987            byte[] ntsrule = nts[eruleno];
7988            switch (eruleno) {
7989            case 37: // address: address1scaledreg
7990            case 36: // address1scaledreg: address1reg
7991            case 33: // load8_16_32: load8
7992            case 32: // load8_16_32: load16_32
7993            case 31: // load16_32: load32
7994            case 30: // load16_32: load16
7995            case 27: // load16: uload16
7996            case 26: // load16: sload16
7997            case 21: // load8: uload8
7998            case 20: // load8: sload8
7999            case 12: // any: riv
8000            case 9: // rlv: r
8001            case 7: // riv: r
8002            case 6: // szp: szpr
8003            case 5: // r: szpr
8004            case 4: // cz: czr
8005            case 3: // r: czr
8006            case 1: // stm: r
8007                    mark(p, ntsrule[0]);
8008                    break;
8009            case 456: // stm: CLEAR_FLOATING_POINT_STATE
8010            case 455: // double_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
8011            case 454: // float_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
8012            case 453: // r: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
8013            case 379: // r: GET_TIME_BASE
8014            case 371: // stm: RETURN(LONG_CONSTANT)
8015            case 369: // stm: RETURN(INT_CONSTANT)
8016            case 368: // stm: RETURN(NULL)
8017            case 367: // stm: PAUSE
8018            case 366: // stm: READ_CEILING
8019            case 365: // stm: WRITE_FLOOR
8020            case 363: // stm: GOTO
8021            case 270: // r: GET_CURRENT_PROCESSOR
8022            case 269: // r: LONG_MOVE(LONG_CONSTANT)
8023            case 70: // stm: TRAP
8024            case 68: // r: GET_CAUGHT_EXCEPTION
8025            case 67: // stm: IR_PROLOGUE
8026            case 65: // r: GUARD_COMBINE
8027            case 64: // r: GUARD_MOVE
8028            case 63: // stm: NOP
8029            case 62: // stm: RESOLVE
8030            case 60: // stm: YIELDPOINT_BACKEDGE
8031            case 59: // stm: YIELDPOINT_EPILOGUE
8032            case 58: // stm: YIELDPOINT_PROLOGUE
8033            case 57: // stm: UNINT_END
8034            case 56: // stm: UNINT_BEGIN
8035            case 55: // stm: IG_PATCH_POINT
8036            case 14: // any: LONG_CONSTANT
8037            case 13: // any: ADDRESS_CONSTANT
8038            case 11: // any: NULL
8039            case 10: // rlv: LONG_CONSTANT
8040            case 8: // riv: INT_CONSTANT
8041            case 2: // r: REGISTER
8042                    break;
8043            case 462: // stm: DOUBLE_IFCMP(double_load,r)
8044            case 461: // stm: DOUBLE_IFCMP(r,double_load)
8045            case 460: // stm: DOUBLE_IFCMP(r,r)
8046            case 459: // stm: FLOAT_IFCMP(float_load,r)
8047            case 458: // stm: FLOAT_IFCMP(r,float_load)
8048            case 457: // stm: FLOAT_IFCMP(r,r)
8049            case 428: // float_load: FLOAT_ALOAD(riv,riv)
8050            case 427: // r: FLOAT_ALOAD(riv,riv)
8051            case 426: // float_load: FLOAT_LOAD(riv,riv)
8052            case 425: // r: FLOAT_LOAD(riv,riv)
8053            case 424: // double_load: DOUBLE_ALOAD(riv,riv)
8054            case 423: // r: DOUBLE_ALOAD(riv,riv)
8055            case 422: // double_load: DOUBLE_LOAD(riv,riv)
8056            case 421: // r: DOUBLE_LOAD(riv,riv)
8057            case 416: // r: DOUBLE_REM(r,r)
8058            case 415: // r: FLOAT_REM(r,r)
8059            case 410: // r: DOUBLE_DIV(r,double_load)
8060            case 409: // r: DOUBLE_DIV(r,r)
8061            case 408: // r: FLOAT_DIV(r,float_load)
8062            case 407: // r: FLOAT_DIV(r,r)
8063            case 406: // r: DOUBLE_MUL(double_load,r)
8064            case 405: // r: DOUBLE_MUL(r,double_load)
8065            case 404: // r: DOUBLE_MUL(r,r)
8066            case 403: // r: FLOAT_MUL(float_load,r)
8067            case 402: // r: FLOAT_MUL(r,float_load)
8068            case 401: // r: FLOAT_MUL(r,r)
8069            case 400: // r: DOUBLE_SUB(r,double_load)
8070            case 399: // r: DOUBLE_SUB(r,r)
8071            case 398: // r: FLOAT_SUB(r,float_load)
8072            case 397: // r: FLOAT_SUB(r,r)
8073            case 396: // r: DOUBLE_ADD(double_load,r)
8074            case 395: // r: DOUBLE_ADD(r,double_load)
8075            case 394: // r: DOUBLE_ADD(r,r)
8076            case 393: // r: FLOAT_ADD(float_load,r)
8077            case 392: // r: FLOAT_ADD(r,float_load)
8078            case 391: // r: FLOAT_ADD(r,r)
8079            case 380: // stm: YIELDPOINT_OSR(any,any)
8080            case 376: // r: SYSCALL(r,any)
8081            case 372: // r: CALL(r,any)
8082            case 362: // r: LONG_CMP(rlv,rlv)
8083            case 361: // stm: LONG_IFCMP(rlv,rlv)
8084            case 360: // stm: INT_IFCMP2(riv,load32)
8085            case 359: // stm: INT_IFCMP2(load32,riv)
8086            case 358: // stm: INT_IFCMP2(r,riv)
8087            case 352: // stm: INT_IFCMP(r,load32)
8088            case 351: // stm: INT_IFCMP(load32,riv)
8089            case 349: // stm: INT_IFCMP(r,uload8)
8090            case 348: // stm: INT_IFCMP(uload8,r)
8091            case 345: // stm: INT_IFCMP(r,riv)
8092            case 303: // r: PREPARE_LONG(riv,riv)
8093            case 300: // r: PREPARE_INT(address1reg,address1scaledreg)
8094            case 299: // r: PREPARE_INT(address1scaledreg,address1reg)
8095            case 298: // r: PREPARE_INT(address1scaledreg,r)
8096            case 297: // r: PREPARE_INT(r,address1scaledreg)
8097            case 296: // r: PREPARE_INT(riv,riv)
8098            case 295: // r: LONG_ALOAD(riv,riv)
8099            case 294: // r: LONG_LOAD(riv,riv)
8100            case 293: // r: INT_ALOAD(riv,riv)
8101            case 291: // r: INT_LOAD(address1reg,address1scaledreg)
8102            case 290: // r: INT_LOAD(address1scaledreg,address1reg)
8103            case 289: // r: INT_LOAD(address1scaledreg,riv)
8104            case 288: // r: INT_LOAD(riv,address1scaledreg)
8105            case 287: // r: INT_LOAD(riv,riv)
8106            case 282: // r: USHORT_ALOAD(riv,riv)
8107            case 281: // r: USHORT_LOAD(riv,riv)
8108            case 280: // r: SHORT_ALOAD(riv,riv)
8109            case 279: // r: SHORT_LOAD(riv,riv)
8110            case 274: // r: UBYTE_ALOAD(riv,riv)
8111            case 273: // r: UBYTE_LOAD(riv,riv)
8112            case 272: // r: BYTE_ALOAD(riv,riv)
8113            case 271: // r: BYTE_LOAD(riv,riv)
8114            case 220: // r: LONG_XOR(r,rlv)
8115            case 219: // r: LONG_OR(rlv,rlv)
8116            case 218: // r: LONG_AND(rlv,rlv)
8117            case 216: // r: LONG_USHR(rlv,riv)
8118            case 214: // r: LONG_SHR(rlv,riv)
8119            case 212: // r: LONG_SHL(rlv,riv)
8120            case 210: // r: LONG_MUL(rlv,rlv)
8121            case 209: // r: LONG_SUB(rlv,rlv)
8122            case 208: // r: LONG_ADD(r,rlv)
8123            case 200: // szpr: INT_XOR(load32,riv)
8124            case 199: // szpr: INT_XOR(riv,load32)
8125            case 198: // szpr: INT_XOR(riv,riv)
8126            case 193: // szpr: INT_OR(load32,riv)
8127            case 192: // szpr: INT_OR(riv,load32)
8128            case 191: // szpr: INT_OR(riv,riv)
8129            case 186: // szp: INT_AND(riv,load8_16_32)
8130            case 185: // szp: INT_AND(load8_16_32,riv)
8131            case 184: // szpr: INT_AND(load32,riv)
8132            case 183: // szpr: INT_AND(riv,load32)
8133            case 182: // szp: INT_AND(r,riv)
8134            case 181: // szpr: INT_AND(riv,riv)
8135            case 167: // szpr: INT_USHR(riv,riv)
8136            case 160: // szpr: INT_SHR(riv,riv)
8137            case 151: // szpr: INT_SHL(riv,riv)
8138            case 146: // r: INT_REM(riv,load32)
8139            case 145: // r: INT_REM(riv,riv)
8140            case 144: // r: INT_DIV(riv,load32)
8141            case 143: // r: INT_DIV(riv,riv)
8142            case 142: // r: INT_MUL(load32,riv)
8143            case 141: // r: INT_MUL(riv,load32)
8144            case 140: // r: INT_MUL(riv,riv)
8145            case 135: // czr: INT_SUB(load32,riv)
8146            case 134: // czr: INT_SUB(riv,load32)
8147            case 133: // r: INT_SUB(load32,r)
8148            case 132: // r: INT_SUB(riv,r)
8149            case 131: // czr: INT_SUB(riv,r)
8150            case 126: // czr: INT_ADD(load32,riv)
8151            case 125: // czr: INT_ADD(riv,load32)
8152            case 124: // r: INT_ADD(r,riv)
8153            case 123: // czr: INT_ADD(r,riv)
8154            case 104: // boolcmp: BOOLEAN_CMP_LONG(rlv,rlv)
8155            case 103: // r: BOOLEAN_CMP_LONG(rlv,rlv)
8156            case 100: // boolcmp: BOOLEAN_CMP_INT(riv,load32)
8157            case 99: // r: BOOLEAN_CMP_INT(r,load32)
8158            case 98: // boolcmp: BOOLEAN_CMP_INT(load32,riv)
8159            case 97: // r: BOOLEAN_CMP_INT(load32,riv)
8160            case 80: // boolcmp: BOOLEAN_CMP_INT(r,riv)
8161            case 79: // r: BOOLEAN_CMP_INT(r,riv)
8162            case 75: // stm: TRAP_IF(riv,load32)
8163            case 74: // stm: TRAP_IF(load32,riv)
8164            case 73: // stm: TRAP_IF(r,r)
8165            case 52: // r: INT_ADD(address1reg,address1scaledreg)
8166            case 51: // r: INT_ADD(address1scaledreg,address1reg)
8167            case 50: // r: INT_ADD(r,address1scaledreg)
8168            case 49: // r: INT_ADD(address1scaledreg,r)
8169            case 48: // address: INT_ADD(address1reg,address1scaledreg)
8170            case 47: // address: INT_ADD(address1scaledreg,address1reg)
8171            case 45: // address: INT_ADD(address1scaledreg,r)
8172            case 44: // address: INT_ADD(r,address1scaledreg)
8173            case 41: // address: INT_ADD(r,r)
8174            case 35: // load64: LONG_ALOAD(riv,riv)
8175            case 34: // load64: LONG_LOAD(riv,riv)
8176            case 29: // load32: INT_ALOAD(riv,riv)
8177            case 28: // load32: INT_LOAD(riv,riv)
8178            case 25: // uload16: USHORT_ALOAD(riv,riv)
8179            case 24: // uload16: USHORT_LOAD(riv,riv)
8180            case 23: // sload16: SHORT_ALOAD(riv,riv)
8181            case 22: // sload16: SHORT_LOAD(riv,riv)
8182            case 19: // uload8: UBYTE_ALOAD(riv,riv)
8183            case 18: // uload8: UBYTE_LOAD(riv,riv)
8184            case 17: // sload8: BYTE_ALOAD(riv,riv)
8185            case 16: // sload8: BYTE_LOAD(riv,riv)
8186            case 15: // any: OTHER_OPERAND(any,any)
8187                    mark(p.child1, ntsrule[0]);
8188                    mark(p.child2, ntsrule[1]);
8189                    break;
8190            case 452: // double_load: LONG_BITS_AS_DOUBLE(load64)
8191            case 451: // r: LONG_BITS_AS_DOUBLE(rlv)
8192            case 450: // float_load: INT_BITS_AS_FLOAT(load32)
8193            case 449: // r: INT_BITS_AS_FLOAT(riv)
8194            case 448: // load64: DOUBLE_AS_LONG_BITS(double_load)
8195            case 447: // r: DOUBLE_AS_LONG_BITS(r)
8196            case 446: // load32: FLOAT_AS_INT_BITS(float_load)
8197            case 445: // r: FLOAT_AS_INT_BITS(r)
8198            case 444: // r: DOUBLE_2LONG(r)
8199            case 443: // r: DOUBLE_2INT(r)
8200            case 442: // r: FLOAT_2LONG(r)
8201            case 441: // r: FLOAT_2INT(r)
8202            case 440: // r: DOUBLE_2FLOAT(double_load)
8203            case 439: // r: DOUBLE_2FLOAT(r)
8204            case 438: // r: FLOAT_2DOUBLE(float_load)
8205            case 437: // r: FLOAT_2DOUBLE(r)
8206            case 436: // r: INT_2DOUBLE(load32)
8207            case 435: // r: INT_2DOUBLE(riv)
8208            case 434: // r: INT_2FLOAT(load32)
8209            case 433: // r: INT_2FLOAT(riv)
8210            case 420: // r: DOUBLE_MOVE(r)
8211            case 419: // r: FLOAT_MOVE(r)
8212            case 418: // r: LONG_2DOUBLE(r)
8213            case 417: // r: LONG_2FLOAT(r)
8214            case 414: // r: DOUBLE_SQRT(r)
8215            case 413: // r: FLOAT_SQRT(r)
8216            case 412: // r: DOUBLE_NEG(r)
8217            case 411: // r: FLOAT_NEG(r)
8218            case 370: // stm: RETURN(r)
8219            case 364: // stm: PREFETCH(r)
8220            case 357: // stm: INT_IFCMP(bittest,INT_CONSTANT)
8221            case 356: // stm: INT_IFCMP(szp,INT_CONSTANT)
8222            case 355: // stm: INT_IFCMP(cz,INT_CONSTANT)
8223            case 354: // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
8224            case 353: // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
8225            case 350: // stm: INT_IFCMP(sload16,INT_CONSTANT)
8226            case 347: // stm: INT_IFCMP(load8,INT_CONSTANT)
8227            case 346: // stm: INT_IFCMP(r,INT_CONSTANT)
8228            case 301: // r: PREPARE_INT(address,INT_CONSTANT)
8229            case 292: // r: INT_LOAD(address,INT_CONSTANT)
8230            case 285: // r: INT_2USHORT(load16_32)
8231            case 284: // r: INT_2USHORT(load16_32)
8232            case 283: // r: INT_AND(load16_32,INT_CONSTANT)
8233            case 277: // r: INT_2BYTE(load8_16_32)
8234            case 276: // r: INT_AND(load8_16_32,INT_CONSTANT)
8235            case 275: // uload8: INT_AND(load8_16_32,INT_CONSTANT)
8236            case 268: // r: LONG_MOVE(r)
8237            case 267: // load64: LONG_MOVE(load64)
8238            case 266: // load32: INT_MOVE(load32)
8239            case 265: // load16: INT_MOVE(load16)
8240            case 264: // uload16: INT_MOVE(uload16)
8241            case 263: // sload16: INT_MOVE(sload16)
8242            case 262: // load8: INT_MOVE(load8)
8243            case 261: // uload8: INT_MOVE(uload8)
8244            case 260: // sload8: INT_MOVE(sload8)
8245            case 259: // address: INT_MOVE(address)
8246            case 258: // address1scaledreg: INT_MOVE(address1scaledreg)
8247            case 257: // address1reg: INT_MOVE(address1reg)
8248            case 256: // szp: INT_MOVE(szp)
8249            case 255: // szpr: INT_MOVE(szpr)
8250            case 254: // cz: INT_MOVE(cz)
8251            case 253: // czr: INT_MOVE(czr)
8252            case 252: // r: INT_MOVE(riv)
8253            case 245: // r: LONG_2INT(load64)
8254            case 242: // r: LONG_2INT(r)
8255            case 241: // r: ADDR_2LONG(load32)
8256            case 240: // r: ADDR_2LONG(r)
8257            case 235: // r: INT_2LONG(load32)
8258            case 234: // r: INT_2LONG(r)
8259            case 231: // r: INT_2SHORT(load16_32)
8260            case 230: // r: INT_2SHORT(r)
8261            case 227: // r: INT_2USHORT(load16_32)
8262            case 226: // szpr: INT_2USHORT(r)
8263            case 223: // r: INT_2BYTE(load8_16_32)
8264            case 222: // r: INT_2BYTE(r)
8265            case 221: // r: LONG_NOT(r)
8266            case 211: // r: LONG_NEG(r)
8267            case 205: // r: INT_NOT(r)
8268            case 168: // szpr: INT_USHR(riv,INT_CONSTANT)
8269            case 161: // szpr: INT_SHR(riv,INT_CONSTANT)
8270            case 153: // r: INT_SHL(r,INT_CONSTANT)
8271            case 152: // szpr: INT_SHL(r,INT_CONSTANT)
8272            case 147: // szpr: INT_NEG(r)
8273            case 110: // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
8274            case 109: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
8275            case 108: // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
8276            case 107: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
8277            case 96: // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
8278            case 95: // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
8279            case 94: // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
8280            case 93: // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
8281            case 92: // boolcmp: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
8282            case 91: // r: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
8283            case 90: // boolcmp: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
8284            case 89: // r: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
8285            case 88: // boolcmp: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
8286            case 87: // r: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
8287            case 86: // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
8288            case 85: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
8289            case 84: // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
8290            case 83: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
8291            case 82: // boolcmp: BOOLEAN_CMP_INT(r,INT_CONSTANT)
8292            case 81: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
8293            case 76: // r: BOOLEAN_NOT(r)
8294            case 72: // stm: TRAP_IF(r,LONG_CONSTANT)
8295            case 71: // stm: TRAP_IF(r,INT_CONSTANT)
8296            case 69: // stm: SET_CAUGHT_EXCEPTION(r)
8297            case 66: // stm: NULL_CHECK(riv)
8298            case 61: // stm: LOWTABLESWITCH(r)
8299            case 54: // r: INT_MOVE(address)
8300            case 53: // r: INT_ADD(address,INT_CONSTANT)
8301            case 46: // address: INT_ADD(address1scaledreg,INT_CONSTANT)
8302            case 43: // address1scaledreg: INT_ADD(address1scaledreg,INT_CONSTANT)
8303            case 42: // address1reg: INT_ADD(address1reg,INT_CONSTANT)
8304            case 40: // address1reg: INT_MOVE(r)
8305            case 39: // address1reg: INT_ADD(r,INT_CONSTANT)
8306            case 38: // address1scaledreg: INT_SHL(r,INT_CONSTANT)
8307                    mark(p.child1, ntsrule[0]);
8308                    break;
8309            case 207: // stm: INT_ASTORE(INT_NOT(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8310            case 206: // stm: INT_STORE(INT_NOT(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8311            case 172: // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8312            case 170: // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8313            case 165: // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8314            case 163: // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8315            case 158: // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8316            case 156: // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8317            case 149: // stm: INT_ASTORE(INT_NEG(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8318            case 148: // stm: INT_STORE(INT_NEG(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8319            case 78: // stm: BYTE_ASTORE(BOOLEAN_NOT(UBYTE_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8320            case 77: // stm: BYTE_STORE(BOOLEAN_NOT(UBYTE_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8321                    mark(p.child1.child1.child1, ntsrule[0]);
8322                    mark(p.child1.child1.child2, ntsrule[1]);
8323                    mark(p.child2.child1, ntsrule[2]);
8324                    mark(p.child2.child2, ntsrule[3]);
8325                    break;
8326            case 484: // stm: LONG_STORE(load64,OTHER_OPERAND(riv,riv))
8327            case 483: // stm: LONG_ASTORE(load64,OTHER_OPERAND(riv,riv))
8328            case 474: // r: FCMP_FCMOV(r,OTHER_OPERAND(double_load,any))
8329            case 473: // r: FCMP_FCMOV(r,OTHER_OPERAND(float_load,any))
8330            case 468: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,any))
8331            case 467: // r: FCMP_CMOV(double_load,OTHER_OPERAND(r,any))
8332            case 466: // r: FCMP_CMOV(float_load,OTHER_OPERAND(r,any))
8333            case 465: // r: FCMP_CMOV(r,OTHER_OPERAND(double_load,any))
8334            case 464: // r: FCMP_CMOV(r,OTHER_OPERAND(float_load,any))
8335            case 463: // r: FCMP_CMOV(r,OTHER_OPERAND(r,any))
8336            case 432: // stm: FLOAT_ASTORE(r,OTHER_OPERAND(riv,riv))
8337            case 431: // stm: FLOAT_STORE(r,OTHER_OPERAND(riv,riv))
8338            case 430: // stm: DOUBLE_ASTORE(r,OTHER_OPERAND(riv,riv))
8339            case 429: // stm: DOUBLE_STORE(r,OTHER_OPERAND(riv,riv))
8340            case 343: // stm: LONG_ASTORE(r,OTHER_OPERAND(riv,riv))
8341            case 341: // stm: LONG_STORE(r,OTHER_OPERAND(riv,riv))
8342            case 340: // stm: INT_ASTORE(riv,OTHER_OPERAND(riv,riv))
8343            case 338: // stm: INT_STORE(riv,OTHER_OPERAND(address1reg,address1scaledreg))
8344            case 337: // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,address1reg))
8345            case 336: // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,riv))
8346            case 335: // stm: INT_STORE(riv,OTHER_OPERAND(riv,address1scaledreg))
8347            case 334: // stm: INT_STORE(riv,OTHER_OPERAND(riv,riv))
8348            case 333: // stm: SHORT_ASTORE(load16,OTHER_OPERAND(riv,riv))
8349            case 332: // stm: SHORT_ASTORE(riv,OTHER_OPERAND(riv,riv))
8350            case 331: // stm: SHORT_STORE(load16,OTHER_OPERAND(riv,riv))
8351            case 330: // stm: SHORT_STORE(riv,OTHER_OPERAND(riv,riv))
8352            case 329: // stm: BYTE_ASTORE(load8,OTHER_OPERAND(riv,riv))
8353            case 328: // stm: BYTE_ASTORE(riv,OTHER_OPERAND(riv,riv))
8354            case 327: // stm: BYTE_STORE(load8,OTHER_OPERAND(riv,riv))
8355            case 326: // stm: BYTE_STORE(riv,OTHER_OPERAND(riv,riv))
8356            case 122: // r: LCMP_CMOV(r,OTHER_OPERAND(rlv,any))
8357            case 116: // r: CMP_CMOV(riv,OTHER_OPERAND(load32,any))
8358            case 115: // r: CMP_CMOV(load32,OTHER_OPERAND(riv,any))
8359            case 113: // r: CMP_CMOV(riv,OTHER_OPERAND(uload8,any))
8360            case 112: // r: CMP_CMOV(uload8,OTHER_OPERAND(riv,any))
8361            case 105: // r: CMP_CMOV(r,OTHER_OPERAND(riv,any))
8362            case 102: // stm: BYTE_ASTORE(boolcmp,OTHER_OPERAND(riv,riv))
8363            case 101: // stm: BYTE_STORE(boolcmp,OTHER_OPERAND(riv,riv))
8364                    mark(p.child1, ntsrule[0]);
8365                    mark(p.child2.child1, ntsrule[1]);
8366                    mark(p.child2.child2, ntsrule[2]);
8367                    break;
8368            case 121: // r: CMP_CMOV(szp,OTHER_OPERAND(INT_CONSTANT,any))
8369            case 120: // r: CMP_CMOV(cz,OTHER_OPERAND(INT_CONSTANT,any))
8370            case 119: // r: CMP_CMOV(bittest,OTHER_OPERAND(INT_CONSTANT,any))
8371            case 118: // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
8372            case 117: // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
8373            case 114: // r: CMP_CMOV(sload16,OTHER_OPERAND(INT_CONSTANT,any))
8374            case 111: // r: CMP_CMOV(load8,OTHER_OPERAND(INT_CONSTANT,any))
8375            case 106: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,any))
8376                    mark(p.child1, ntsrule[0]);
8377                    mark(p.child2.child2, ntsrule[1]);
8378                    break;
8379            case 203: // stm: INT_ASTORE(INT_XOR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8380            case 201: // stm: INT_STORE(INT_XOR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8381            case 196: // stm: INT_ASTORE(INT_OR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8382            case 194: // stm: INT_STORE(INT_OR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8383            case 189: // stm: INT_ASTORE(INT_AND(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8384            case 187: // stm: INT_STORE(INT_AND(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8385            case 138: // stm: INT_ASTORE(INT_SUB(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8386            case 136: // stm: INT_STORE(INT_SUB(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8387            case 129: // stm: INT_ASTORE(INT_ADD(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8388            case 127: // stm: INT_STORE(INT_ADD(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8389                    mark(p.child1.child1.child1, ntsrule[0]);
8390                    mark(p.child1.child1.child2, ntsrule[1]);
8391                    mark(p.child1.child2, ntsrule[2]);
8392                    mark(p.child2.child1, ntsrule[3]);
8393                    mark(p.child2.child2, ntsrule[4]);
8394                    break;
8395            case 204: // stm: INT_ASTORE(INT_XOR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8396            case 202: // stm: INT_STORE(INT_XOR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8397            case 197: // stm: INT_ASTORE(INT_OR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8398            case 195: // stm: INT_STORE(INT_OR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8399            case 190: // stm: INT_ASTORE(INT_AND(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8400            case 188: // stm: INT_STORE(INT_AND(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8401            case 139: // stm: INT_ASTORE(INT_SUB(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8402            case 137: // stm: INT_STORE(INT_SUB(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8403            case 130: // stm: INT_ASTORE(INT_ADD(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8404            case 128: // stm: INT_STORE(INT_ADD(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8405                    mark(p.child1.child1, ntsrule[0]);
8406                    mark(p.child1.child2.child1, ntsrule[1]);
8407                    mark(p.child1.child2.child2, ntsrule[2]);
8408                    mark(p.child2.child1, ntsrule[3]);
8409                    mark(p.child2.child2, ntsrule[4]);
8410                    break;
8411            case 339: // stm: INT_STORE(riv,OTHER_OPERAND(address,INT_CONSTANT))
8412            case 217: // r: LONG_USHR(rlv,INT_AND(riv,INT_CONSTANT))
8413            case 215: // r: LONG_SHR(rlv,INT_AND(riv,INT_CONSTANT))
8414            case 213: // r: LONG_SHL(rlv,INT_AND(riv,INT_CONSTANT))
8415            case 166: // szpr: INT_USHR(riv,INT_AND(r,INT_CONSTANT))
8416            case 159: // szpr: INT_SHR(riv,INT_AND(r,INT_CONSTANT))
8417            case 150: // szpr: INT_SHL(riv,INT_AND(r,INT_CONSTANT))
8418                    mark(p.child1, ntsrule[0]);
8419                    mark(p.child2.child1, ntsrule[1]);
8420                    break;
8421            case 386: // bittest: INT_AND(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
8422            case 383: // bittest: INT_AND(INT_USHR(r,INT_CONSTANT),INT_CONSTANT)
8423            case 286: // r: INT_USHR(INT_SHL(load16_32,INT_CONSTANT),INT_CONSTANT)
8424            case 278: // r: INT_USHR(INT_SHL(load8_16_32,INT_CONSTANT),INT_CONSTANT)
8425            case 251: // load32: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
8426            case 250: // load32: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
8427            case 249: // r: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
8428            case 248: // r: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
8429            case 247: // r: LONG_2INT(LONG_SHR(r,INT_CONSTANT))
8430            case 246: // r: LONG_2INT(LONG_USHR(r,INT_CONSTANT))
8431            case 239: // r: LONG_SHL(INT_2LONG(load64),INT_CONSTANT)
8432            case 238: // r: LONG_SHL(INT_2LONG(r),INT_CONSTANT)
8433            case 237: // r: LONG_AND(INT_2LONG(load32),LONG_CONSTANT)
8434            case 236: // r: LONG_AND(INT_2LONG(r),LONG_CONSTANT)
8435            case 154: // szpr: INT_SHL(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
8436                    mark(p.child1.child1, ntsrule[0]);
8437                    break;
8438            case 171: // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8439            case 169: // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8440            case 164: // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8441            case 162: // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8442            case 157: // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8443            case 155: // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8444                    mark(p.child1.child1.child1, ntsrule[0]);
8445                    mark(p.child1.child1.child2, ntsrule[1]);
8446                    mark(p.child1.child2.child1, ntsrule[2]);
8447                    mark(p.child2.child1, ntsrule[3]);
8448                    mark(p.child2.child2, ntsrule[4]);
8449                    break;
8450            case 176: // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
8451            case 175: // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
8452            case 174: // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
8453            case 173: // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
8454                    mark(p.child1.child1, ntsrule[0]);
8455                    mark(p.child2.child1, ntsrule[1]);
8456                    break;
8457            case 180: // r: INT_OR(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
8458            case 177: // r: INT_OR(INT_SHL(r,INT_AND(r,INT_CONSTANT)),INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
8459                    mark(p.child1.child1, ntsrule[0]);
8460                    mark(p.child1.child2.child1, ntsrule[1]);
8461                    mark(p.child2.child1, ntsrule[2]);
8462                    mark(p.child2.child2.child1.child1, ntsrule[3]);
8463                    break;
8464            case 179: // r: INT_OR(INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_USHR(r,INT_AND(r,INT_CONSTANT)))
8465            case 178: // r: INT_OR(INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_SHL(r,INT_AND(r,INT_CONSTANT)))
8466                    mark(p.child1.child1, ntsrule[0]);
8467                    mark(p.child1.child2.child1.child1, ntsrule[1]);
8468                    mark(p.child2.child1, ntsrule[2]);
8469                    mark(p.child2.child2.child1, ntsrule[3]);
8470                    break;
8471            case 244: // stm: INT_ASTORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
8472            case 243: // stm: INT_STORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
8473            case 233: // stm: SHORT_ASTORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
8474            case 232: // stm: SHORT_STORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
8475            case 229: // stm: SHORT_ASTORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
8476            case 228: // stm: SHORT_STORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
8477            case 225: // stm: BYTE_ASTORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
8478            case 224: // stm: BYTE_STORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
8479                    mark(p.child1.child1, ntsrule[0]);
8480                    mark(p.child2.child1, ntsrule[1]);
8481                    mark(p.child2.child2, ntsrule[2]);
8482                    break;
8483            case 378: // r: SYSCALL(INT_CONSTANT,any)
8484            case 375: // r: CALL(INT_CONSTANT,any)
8485            case 373: // r: CALL(BRANCH_TARGET,any)
8486            case 302: // r: PREPARE_INT(INT_CONSTANT,address)
8487                    mark(p.child2, ntsrule[0]);
8488                    break;
8489            case 472: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(double_load,r)))
8490            case 471: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(float_load,r)))
8491            case 470: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,double_load)))
8492            case 469: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,float_load)))
8493            case 325: // r: ATTEMPT_LONG(riv,OTHER_OPERAND(riv,OTHER_OPERAND(rlv,rlv)))
8494            case 308: // r: ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
8495            case 307: // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv)))
8496            case 306: // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv)))
8497            case 305: // r: ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
8498            case 304: // r: ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv)))
8499                    mark(p.child1, ntsrule[0]);
8500                    mark(p.child2.child1, ntsrule[1]);
8501                    mark(p.child2.child2.child1, ntsrule[2]);
8502                    mark(p.child2.child2.child2, ntsrule[3]);
8503                    break;
8504            case 309: // r: ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv)))
8505                    mark(p.child1, ntsrule[0]);
8506                    mark(p.child2.child2.child1, ntsrule[1]);
8507                    mark(p.child2.child2.child2, ntsrule[2]);
8508                    break;
8509            case 310: // r: ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv)))
8510                    mark(p.child2.child1, ntsrule[0]);
8511                    mark(p.child2.child2.child1, ntsrule[1]);
8512                    mark(p.child2.child2.child2, ntsrule[2]);
8513                    break;
8514            case 322: // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8515            case 321: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8516            case 320: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8517            case 319: // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8518            case 318: // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8519            case 315: // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8520            case 314: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8521            case 313: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8522            case 312: // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8523            case 311: // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8524                    mark(p.child1.child1, ntsrule[0]);
8525                    mark(p.child1.child2.child1, ntsrule[1]);
8526                    mark(p.child1.child2.child2.child1, ntsrule[2]);
8527                    mark(p.child1.child2.child2.child2, ntsrule[3]);
8528                    break;
8529            case 323: // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8530            case 316: // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8531                    mark(p.child1.child1, ntsrule[0]);
8532                    mark(p.child1.child2.child2.child1, ntsrule[1]);
8533                    mark(p.child1.child2.child2.child2, ntsrule[2]);
8534                    break;
8535            case 324: // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8536            case 317: // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8537                    mark(p.child1.child2.child1, ntsrule[0]);
8538                    mark(p.child1.child2.child2.child1, ntsrule[1]);
8539                    mark(p.child1.child2.child2.child2, ntsrule[2]);
8540                    break;
8541            case 344: // stm: LONG_ASTORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
8542            case 342: // stm: LONG_STORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
8543                    mark(p.child2.child1, ntsrule[0]);
8544                    mark(p.child2.child2, ntsrule[1]);
8545                    break;
8546            case 377: // r: SYSCALL(INT_LOAD(riv,riv),any)
8547            case 374: // r: CALL(INT_LOAD(riv,riv),any)
8548                    mark(p.child1.child1, ntsrule[0]);
8549                    mark(p.child1.child2, ntsrule[1]);
8550                    mark(p.child2, ntsrule[2]);
8551                    break;
8552            case 385: // bittest: INT_AND(INT_SHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
8553            case 384: // bittest: INT_AND(INT_SHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
8554            case 382: // bittest: INT_AND(INT_USHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
8555            case 381: // bittest: INT_AND(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
8556                    mark(p.child1.child1, ntsrule[0]);
8557                    mark(p.child1.child2.child1, ntsrule[1]);
8558                    break;
8559            case 388: // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)),load32)
8560            case 387: // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(riv,INT_CONSTANT)),r)
8561                    mark(p.child1.child2.child1, ntsrule[0]);
8562                    mark(p.child2, ntsrule[1]);
8563                    break;
8564            case 390: // bittest: INT_AND(load32,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
8565            case 389: // bittest: INT_AND(r,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
8566                    mark(p.child1, ntsrule[0]);
8567                    mark(p.child2.child2.child1, ntsrule[1]);
8568                    break;
8569            case 479: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,DOUBLE_NEG(r))))
8570            case 475: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,FLOAT_NEG(r))))
8571                    mark(p.child1, ntsrule[0]);
8572                    mark(p.child2.child2.child1, ntsrule[1]);
8573                    mark(p.child2.child2.child2.child1, ntsrule[2]);
8574                    break;
8575            case 480: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(DOUBLE_NEG(r),r)))
8576            case 476: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(FLOAT_NEG(r),r)))
8577                    mark(p.child1, ntsrule[0]);
8578                    mark(p.child2.child2.child1.child1, ntsrule[1]);
8579                    mark(p.child2.child2.child2, ntsrule[2]);
8580                    break;
8581            case 481: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(DOUBLE_NEG(r),r)))
8582            case 477: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(FLOAT_NEG(r),r)))
8583                    mark(p.child2.child1, ntsrule[0]);
8584                    mark(p.child2.child2.child1.child1, ntsrule[1]);
8585                    mark(p.child2.child2.child2, ntsrule[2]);
8586                    break;
8587            case 482: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,DOUBLE_NEG(r))))
8588            case 478: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,FLOAT_NEG(r))))
8589                    mark(p.child2.child1, ntsrule[0]);
8590                    mark(p.child2.child2.child1, ntsrule[1]);
8591                    mark(p.child2.child2.child2.child1, ntsrule[2]);
8592                    break;
8593            }
8594    }
8595    
8596    public static final byte[] action={0
8597       ,NOFLAGS
8598       ,NOFLAGS
8599       ,NOFLAGS
8600       ,NOFLAGS
8601       ,NOFLAGS
8602       ,NOFLAGS
8603       ,NOFLAGS
8604       ,NOFLAGS
8605       ,NOFLAGS
8606       ,NOFLAGS
8607       ,NOFLAGS
8608       ,NOFLAGS
8609       ,NOFLAGS
8610       ,NOFLAGS
8611       ,NOFLAGS
8612       ,EMIT_INSTRUCTION
8613       ,EMIT_INSTRUCTION
8614       ,EMIT_INSTRUCTION
8615       ,EMIT_INSTRUCTION
8616       ,NOFLAGS
8617       ,NOFLAGS
8618       ,EMIT_INSTRUCTION
8619       ,EMIT_INSTRUCTION
8620       ,EMIT_INSTRUCTION
8621       ,EMIT_INSTRUCTION
8622       ,NOFLAGS
8623       ,NOFLAGS
8624       ,EMIT_INSTRUCTION
8625       ,EMIT_INSTRUCTION
8626       ,NOFLAGS
8627       ,NOFLAGS
8628       ,NOFLAGS
8629       ,NOFLAGS
8630       ,EMIT_INSTRUCTION
8631       ,EMIT_INSTRUCTION
8632       ,NOFLAGS
8633       ,NOFLAGS
8634       ,EMIT_INSTRUCTION
8635       ,EMIT_INSTRUCTION
8636       ,EMIT_INSTRUCTION
8637       ,EMIT_INSTRUCTION
8638       ,EMIT_INSTRUCTION
8639       ,EMIT_INSTRUCTION
8640       ,EMIT_INSTRUCTION
8641       ,EMIT_INSTRUCTION
8642       ,EMIT_INSTRUCTION
8643       ,EMIT_INSTRUCTION
8644       ,EMIT_INSTRUCTION
8645       ,EMIT_INSTRUCTION
8646       ,EMIT_INSTRUCTION
8647       ,EMIT_INSTRUCTION
8648       ,EMIT_INSTRUCTION
8649       ,EMIT_INSTRUCTION
8650       ,EMIT_INSTRUCTION
8651       ,EMIT_INSTRUCTION
8652       ,EMIT_INSTRUCTION
8653       ,EMIT_INSTRUCTION
8654       ,EMIT_INSTRUCTION
8655       ,EMIT_INSTRUCTION
8656       ,EMIT_INSTRUCTION
8657       ,EMIT_INSTRUCTION
8658       ,EMIT_INSTRUCTION
8659       ,NOFLAGS
8660       ,EMIT_INSTRUCTION
8661       ,EMIT_INSTRUCTION
8662       ,EMIT_INSTRUCTION
8663       ,EMIT_INSTRUCTION
8664       ,EMIT_INSTRUCTION
8665       ,EMIT_INSTRUCTION
8666       ,EMIT_INSTRUCTION
8667       ,EMIT_INSTRUCTION
8668       ,EMIT_INSTRUCTION
8669       ,EMIT_INSTRUCTION
8670       ,EMIT_INSTRUCTION
8671       ,EMIT_INSTRUCTION
8672       ,EMIT_INSTRUCTION
8673       ,EMIT_INSTRUCTION
8674       ,EMIT_INSTRUCTION
8675       ,EMIT_INSTRUCTION
8676       ,EMIT_INSTRUCTION
8677       ,EMIT_INSTRUCTION
8678       ,EMIT_INSTRUCTION
8679       ,EMIT_INSTRUCTION
8680       ,EMIT_INSTRUCTION
8681       ,EMIT_INSTRUCTION
8682       ,EMIT_INSTRUCTION
8683       ,EMIT_INSTRUCTION
8684       ,EMIT_INSTRUCTION
8685       ,EMIT_INSTRUCTION
8686       ,EMIT_INSTRUCTION
8687       ,EMIT_INSTRUCTION
8688       ,EMIT_INSTRUCTION
8689       ,EMIT_INSTRUCTION
8690       ,NOFLAGS
8691       ,EMIT_INSTRUCTION
8692       ,EMIT_INSTRUCTION
8693       ,EMIT_INSTRUCTION
8694       ,EMIT_INSTRUCTION
8695       ,EMIT_INSTRUCTION
8696       ,EMIT_INSTRUCTION
8697       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8698       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8699       ,EMIT_INSTRUCTION
8700       ,EMIT_INSTRUCTION
8701       ,EMIT_INSTRUCTION
8702       ,EMIT_INSTRUCTION
8703       ,EMIT_INSTRUCTION
8704       ,EMIT_INSTRUCTION
8705       ,EMIT_INSTRUCTION
8706       ,EMIT_INSTRUCTION
8707       ,EMIT_INSTRUCTION
8708       ,EMIT_INSTRUCTION
8709       ,EMIT_INSTRUCTION
8710       ,EMIT_INSTRUCTION
8711       ,EMIT_INSTRUCTION
8712       ,EMIT_INSTRUCTION
8713       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8714       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8715       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8716       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8717       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8718       ,EMIT_INSTRUCTION
8719       ,EMIT_INSTRUCTION
8720       ,EMIT_INSTRUCTION
8721       ,EMIT_INSTRUCTION
8722       ,EMIT_INSTRUCTION
8723       ,EMIT_INSTRUCTION
8724       ,EMIT_INSTRUCTION
8725       ,EMIT_INSTRUCTION
8726       ,EMIT_INSTRUCTION
8727       ,EMIT_INSTRUCTION
8728       ,EMIT_INSTRUCTION
8729       ,EMIT_INSTRUCTION
8730       ,EMIT_INSTRUCTION
8731       ,EMIT_INSTRUCTION
8732       ,EMIT_INSTRUCTION
8733       ,EMIT_INSTRUCTION
8734       ,EMIT_INSTRUCTION
8735       ,EMIT_INSTRUCTION
8736       ,EMIT_INSTRUCTION
8737       ,EMIT_INSTRUCTION
8738       ,EMIT_INSTRUCTION
8739       ,EMIT_INSTRUCTION
8740       ,EMIT_INSTRUCTION
8741       ,EMIT_INSTRUCTION
8742       ,EMIT_INSTRUCTION
8743       ,EMIT_INSTRUCTION
8744       ,EMIT_INSTRUCTION
8745       ,EMIT_INSTRUCTION
8746       ,EMIT_INSTRUCTION
8747       ,EMIT_INSTRUCTION
8748       ,EMIT_INSTRUCTION
8749       ,EMIT_INSTRUCTION
8750       ,EMIT_INSTRUCTION
8751       ,EMIT_INSTRUCTION
8752       ,EMIT_INSTRUCTION
8753       ,EMIT_INSTRUCTION
8754       ,EMIT_INSTRUCTION
8755       ,EMIT_INSTRUCTION
8756       ,EMIT_INSTRUCTION
8757       ,EMIT_INSTRUCTION
8758       ,EMIT_INSTRUCTION
8759       ,EMIT_INSTRUCTION
8760       ,EMIT_INSTRUCTION
8761       ,EMIT_INSTRUCTION
8762       ,EMIT_INSTRUCTION
8763       ,EMIT_INSTRUCTION
8764       ,EMIT_INSTRUCTION
8765       ,EMIT_INSTRUCTION
8766       ,EMIT_INSTRUCTION
8767       ,EMIT_INSTRUCTION
8768       ,EMIT_INSTRUCTION
8769       ,EMIT_INSTRUCTION
8770       ,EMIT_INSTRUCTION
8771       ,EMIT_INSTRUCTION
8772       ,EMIT_INSTRUCTION
8773       ,EMIT_INSTRUCTION
8774       ,EMIT_INSTRUCTION
8775       ,EMIT_INSTRUCTION
8776       ,EMIT_INSTRUCTION
8777       ,EMIT_INSTRUCTION
8778       ,EMIT_INSTRUCTION
8779       ,EMIT_INSTRUCTION
8780       ,EMIT_INSTRUCTION
8781       ,EMIT_INSTRUCTION
8782       ,EMIT_INSTRUCTION
8783       ,EMIT_INSTRUCTION
8784       ,EMIT_INSTRUCTION
8785       ,EMIT_INSTRUCTION
8786       ,EMIT_INSTRUCTION
8787       ,EMIT_INSTRUCTION
8788       ,EMIT_INSTRUCTION
8789       ,EMIT_INSTRUCTION
8790       ,EMIT_INSTRUCTION
8791       ,EMIT_INSTRUCTION
8792       ,EMIT_INSTRUCTION
8793       ,EMIT_INSTRUCTION
8794       ,EMIT_INSTRUCTION
8795       ,EMIT_INSTRUCTION
8796       ,EMIT_INSTRUCTION
8797       ,EMIT_INSTRUCTION
8798       ,EMIT_INSTRUCTION
8799       ,EMIT_INSTRUCTION
8800       ,EMIT_INSTRUCTION
8801       ,EMIT_INSTRUCTION
8802       ,EMIT_INSTRUCTION
8803       ,EMIT_INSTRUCTION
8804       ,EMIT_INSTRUCTION
8805       ,EMIT_INSTRUCTION
8806       ,EMIT_INSTRUCTION
8807       ,EMIT_INSTRUCTION
8808       ,EMIT_INSTRUCTION
8809       ,EMIT_INSTRUCTION
8810       ,EMIT_INSTRUCTION
8811       ,EMIT_INSTRUCTION
8812       ,EMIT_INSTRUCTION
8813       ,EMIT_INSTRUCTION
8814       ,EMIT_INSTRUCTION
8815       ,EMIT_INSTRUCTION
8816       ,EMIT_INSTRUCTION
8817       ,EMIT_INSTRUCTION
8818       ,EMIT_INSTRUCTION
8819       ,EMIT_INSTRUCTION
8820       ,EMIT_INSTRUCTION
8821       ,EMIT_INSTRUCTION
8822       ,EMIT_INSTRUCTION
8823       ,EMIT_INSTRUCTION
8824       ,EMIT_INSTRUCTION
8825       ,EMIT_INSTRUCTION
8826       ,EMIT_INSTRUCTION
8827       ,EMIT_INSTRUCTION
8828       ,EMIT_INSTRUCTION
8829       ,EMIT_INSTRUCTION
8830       ,EMIT_INSTRUCTION
8831       ,EMIT_INSTRUCTION
8832       ,EMIT_INSTRUCTION
8833       ,EMIT_INSTRUCTION
8834       ,EMIT_INSTRUCTION
8835       ,EMIT_INSTRUCTION
8836       ,EMIT_INSTRUCTION
8837       ,EMIT_INSTRUCTION
8838       ,EMIT_INSTRUCTION
8839       ,EMIT_INSTRUCTION
8840       ,EMIT_INSTRUCTION
8841       ,EMIT_INSTRUCTION
8842       ,EMIT_INSTRUCTION
8843       ,EMIT_INSTRUCTION
8844       ,EMIT_INSTRUCTION
8845       ,EMIT_INSTRUCTION
8846       ,EMIT_INSTRUCTION
8847       ,EMIT_INSTRUCTION
8848       ,EMIT_INSTRUCTION
8849       ,EMIT_INSTRUCTION
8850       ,NOFLAGS
8851       ,EMIT_INSTRUCTION
8852       ,NOFLAGS
8853       ,NOFLAGS
8854       ,NOFLAGS
8855       ,NOFLAGS
8856       ,NOFLAGS
8857       ,NOFLAGS
8858       ,NOFLAGS
8859       ,NOFLAGS
8860       ,NOFLAGS
8861       ,NOFLAGS
8862       ,NOFLAGS
8863       ,NOFLAGS
8864       ,EMIT_INSTRUCTION
8865       ,EMIT_INSTRUCTION
8866       ,EMIT_INSTRUCTION
8867       ,EMIT_INSTRUCTION
8868       ,EMIT_INSTRUCTION
8869       ,EMIT_INSTRUCTION
8870       ,EMIT_INSTRUCTION
8871       ,EMIT_INSTRUCTION
8872       ,EMIT_INSTRUCTION
8873       ,EMIT_INSTRUCTION
8874       ,EMIT_INSTRUCTION
8875       ,EMIT_INSTRUCTION
8876       ,EMIT_INSTRUCTION
8877       ,EMIT_INSTRUCTION
8878       ,EMIT_INSTRUCTION
8879       ,EMIT_INSTRUCTION
8880       ,EMIT_INSTRUCTION
8881       ,EMIT_INSTRUCTION
8882       ,EMIT_INSTRUCTION
8883       ,EMIT_INSTRUCTION
8884       ,EMIT_INSTRUCTION
8885       ,EMIT_INSTRUCTION
8886       ,EMIT_INSTRUCTION
8887       ,EMIT_INSTRUCTION
8888       ,EMIT_INSTRUCTION
8889       ,EMIT_INSTRUCTION
8890       ,EMIT_INSTRUCTION
8891       ,EMIT_INSTRUCTION
8892       ,EMIT_INSTRUCTION
8893       ,EMIT_INSTRUCTION
8894       ,EMIT_INSTRUCTION
8895       ,EMIT_INSTRUCTION
8896       ,EMIT_INSTRUCTION
8897       ,EMIT_INSTRUCTION
8898       ,EMIT_INSTRUCTION
8899       ,EMIT_INSTRUCTION
8900       ,EMIT_INSTRUCTION
8901       ,EMIT_INSTRUCTION
8902       ,EMIT_INSTRUCTION
8903       ,EMIT_INSTRUCTION
8904       ,EMIT_INSTRUCTION
8905       ,EMIT_INSTRUCTION
8906       ,EMIT_INSTRUCTION
8907       ,EMIT_INSTRUCTION
8908       ,EMIT_INSTRUCTION
8909       ,EMIT_INSTRUCTION
8910       ,EMIT_INSTRUCTION
8911       ,EMIT_INSTRUCTION
8912       ,EMIT_INSTRUCTION
8913       ,EMIT_INSTRUCTION
8914       ,EMIT_INSTRUCTION
8915       ,EMIT_INSTRUCTION
8916       ,EMIT_INSTRUCTION
8917       ,EMIT_INSTRUCTION
8918       ,EMIT_INSTRUCTION
8919       ,EMIT_INSTRUCTION
8920       ,EMIT_INSTRUCTION
8921       ,EMIT_INSTRUCTION
8922       ,EMIT_INSTRUCTION
8923       ,EMIT_INSTRUCTION
8924       ,EMIT_INSTRUCTION
8925       ,EMIT_INSTRUCTION
8926       ,EMIT_INSTRUCTION
8927       ,EMIT_INSTRUCTION
8928       ,EMIT_INSTRUCTION
8929       ,EMIT_INSTRUCTION
8930       ,EMIT_INSTRUCTION
8931       ,EMIT_INSTRUCTION
8932       ,EMIT_INSTRUCTION
8933       ,EMIT_INSTRUCTION
8934       ,EMIT_INSTRUCTION
8935       ,EMIT_INSTRUCTION
8936       ,EMIT_INSTRUCTION
8937       ,EMIT_INSTRUCTION
8938       ,EMIT_INSTRUCTION
8939       ,EMIT_INSTRUCTION
8940       ,EMIT_INSTRUCTION
8941       ,EMIT_INSTRUCTION
8942       ,EMIT_INSTRUCTION
8943       ,EMIT_INSTRUCTION
8944       ,EMIT_INSTRUCTION
8945       ,EMIT_INSTRUCTION
8946       ,EMIT_INSTRUCTION
8947       ,EMIT_INSTRUCTION
8948       ,EMIT_INSTRUCTION
8949       ,EMIT_INSTRUCTION
8950       ,EMIT_INSTRUCTION
8951       ,EMIT_INSTRUCTION
8952       ,EMIT_INSTRUCTION
8953       ,EMIT_INSTRUCTION
8954       ,EMIT_INSTRUCTION
8955       ,EMIT_INSTRUCTION
8956       ,EMIT_INSTRUCTION
8957       ,EMIT_INSTRUCTION
8958       ,EMIT_INSTRUCTION
8959       ,EMIT_INSTRUCTION
8960       ,EMIT_INSTRUCTION
8961       ,EMIT_INSTRUCTION
8962       ,EMIT_INSTRUCTION
8963       ,EMIT_INSTRUCTION
8964       ,EMIT_INSTRUCTION
8965       ,EMIT_INSTRUCTION
8966       ,EMIT_INSTRUCTION
8967       ,EMIT_INSTRUCTION
8968       ,EMIT_INSTRUCTION
8969       ,EMIT_INSTRUCTION
8970       ,EMIT_INSTRUCTION
8971       ,EMIT_INSTRUCTION
8972       ,EMIT_INSTRUCTION
8973       ,EMIT_INSTRUCTION
8974       ,EMIT_INSTRUCTION
8975       ,EMIT_INSTRUCTION
8976       ,EMIT_INSTRUCTION
8977       ,EMIT_INSTRUCTION
8978       ,EMIT_INSTRUCTION
8979       ,EMIT_INSTRUCTION
8980       ,EMIT_INSTRUCTION
8981       ,EMIT_INSTRUCTION
8982       ,EMIT_INSTRUCTION
8983       ,EMIT_INSTRUCTION
8984       ,EMIT_INSTRUCTION
8985       ,EMIT_INSTRUCTION
8986       ,EMIT_INSTRUCTION
8987       ,EMIT_INSTRUCTION
8988       ,EMIT_INSTRUCTION
8989       ,EMIT_INSTRUCTION
8990       ,EMIT_INSTRUCTION
8991       ,EMIT_INSTRUCTION
8992       ,EMIT_INSTRUCTION
8993       ,EMIT_INSTRUCTION
8994       ,EMIT_INSTRUCTION
8995       ,EMIT_INSTRUCTION
8996       ,EMIT_INSTRUCTION
8997       ,EMIT_INSTRUCTION
8998       ,EMIT_INSTRUCTION
8999       ,EMIT_INSTRUCTION
9000       ,EMIT_INSTRUCTION
9001       ,EMIT_INSTRUCTION
9002       ,EMIT_INSTRUCTION
9003       ,EMIT_INSTRUCTION
9004       ,EMIT_INSTRUCTION
9005       ,EMIT_INSTRUCTION
9006       ,EMIT_INSTRUCTION
9007       ,EMIT_INSTRUCTION
9008       ,EMIT_INSTRUCTION
9009       ,EMIT_INSTRUCTION
9010       ,EMIT_INSTRUCTION
9011       ,EMIT_INSTRUCTION
9012       ,EMIT_INSTRUCTION
9013       ,EMIT_INSTRUCTION
9014       ,EMIT_INSTRUCTION
9015       ,EMIT_INSTRUCTION
9016       ,EMIT_INSTRUCTION
9017       ,EMIT_INSTRUCTION
9018       ,EMIT_INSTRUCTION
9019       ,EMIT_INSTRUCTION
9020       ,EMIT_INSTRUCTION
9021       ,EMIT_INSTRUCTION
9022       ,EMIT_INSTRUCTION
9023       ,EMIT_INSTRUCTION
9024       ,EMIT_INSTRUCTION
9025       ,EMIT_INSTRUCTION
9026       ,EMIT_INSTRUCTION
9027       ,EMIT_INSTRUCTION
9028       ,EMIT_INSTRUCTION
9029       ,EMIT_INSTRUCTION
9030       ,EMIT_INSTRUCTION
9031       ,EMIT_INSTRUCTION
9032       ,EMIT_INSTRUCTION
9033       ,EMIT_INSTRUCTION
9034       ,EMIT_INSTRUCTION
9035       ,EMIT_INSTRUCTION
9036       ,EMIT_INSTRUCTION
9037       ,EMIT_INSTRUCTION
9038       ,EMIT_INSTRUCTION
9039       ,EMIT_INSTRUCTION
9040       ,EMIT_INSTRUCTION
9041       ,EMIT_INSTRUCTION
9042       ,NOFLAGS
9043       ,EMIT_INSTRUCTION
9044       ,NOFLAGS
9045       ,EMIT_INSTRUCTION
9046       ,NOFLAGS
9047       ,EMIT_INSTRUCTION
9048       ,NOFLAGS
9049       ,EMIT_INSTRUCTION
9050       ,EMIT_INSTRUCTION
9051       ,EMIT_INSTRUCTION
9052       ,EMIT_INSTRUCTION
9053       ,EMIT_INSTRUCTION
9054       ,EMIT_INSTRUCTION
9055       ,EMIT_INSTRUCTION
9056       ,EMIT_INSTRUCTION
9057       ,EMIT_INSTRUCTION
9058       ,EMIT_INSTRUCTION
9059       ,EMIT_INSTRUCTION
9060       ,EMIT_INSTRUCTION
9061       ,EMIT_INSTRUCTION
9062       ,EMIT_INSTRUCTION
9063       ,EMIT_INSTRUCTION
9064       ,EMIT_INSTRUCTION
9065       ,EMIT_INSTRUCTION
9066       ,EMIT_INSTRUCTION
9067       ,EMIT_INSTRUCTION
9068       ,EMIT_INSTRUCTION
9069       ,EMIT_INSTRUCTION
9070       ,EMIT_INSTRUCTION
9071       ,EMIT_INSTRUCTION
9072       ,EMIT_INSTRUCTION
9073       ,EMIT_INSTRUCTION
9074       ,EMIT_INSTRUCTION
9075       ,EMIT_INSTRUCTION
9076       ,EMIT_INSTRUCTION
9077       ,EMIT_INSTRUCTION
9078       ,EMIT_INSTRUCTION
9079       ,EMIT_INSTRUCTION
9080       ,EMIT_INSTRUCTION
9081    };
9082    
9083    void code16(BURS_TreeNode p) {
9084        pushMO(MO_L(P(p), B));
9085    }
9086    void code17(BURS_TreeNode p) {
9087        pushMO(MO_AL(P(p), B_S, B));
9088    }
9089    void code18(BURS_TreeNode p) {
9090        pushMO(MO_L(P(p), B));
9091    }
9092    void code19(BURS_TreeNode p) {
9093        pushMO(MO_AL(P(p), B_S, B));
9094    }
9095    void code22(BURS_TreeNode p) {
9096        pushMO(MO_L(P(p), W));
9097    }
9098    void code23(BURS_TreeNode p) {
9099        pushMO(MO_AL(P(p), W_S, W));
9100    }
9101    void code24(BURS_TreeNode p) {
9102        pushMO(MO_L(P(p), W));
9103    }
9104    void code25(BURS_TreeNode p) {
9105        pushMO(MO_AL(P(p), W_S, W));
9106    }
9107    void code28(BURS_TreeNode p) {
9108        pushMO(MO_L(P(p), DW));
9109    }
9110    void code29(BURS_TreeNode p) {
9111        pushMO(MO_AL(P(p), DW_S, DW));
9112    }
9113    void code34(BURS_TreeNode p) {
9114        pushMO(MO_L(P(p), QW));
9115    }
9116    void code35(BURS_TreeNode p) {
9117        pushMO(MO_AL(P(p), QW_S, QW));
9118    }
9119    void code38(BURS_TreeNode p) {
9120        pushAddress(null, Binary.getVal1(P(p)).asRegister(), LEA_SHIFT(Binary.getVal2(P(p))), Offset.zero());
9121    }
9122    void code39(BURS_TreeNode p) {
9123        pushAddress(R(Binary.getVal1(P(p))), null, B_S, Offset.fromIntSignExtend(VR(p)));
9124    }
9125    void code40(BURS_TreeNode p) {
9126        pushAddress(R(Move.getVal(P(p))), null, B_S, Offset.zero());
9127    }
9128    void code41(BURS_TreeNode p) {
9129        pushAddress(R(Binary.getVal1(P(p))), R(Binary.getVal2(P(p))), B_S, Offset.zero());
9130    }
9131    void code42(BURS_TreeNode p) {
9132        augmentAddress(Binary.getVal2(P(p)));
9133    }
9134    void code43(BURS_TreeNode p) {
9135        augmentAddress(Binary.getVal2(P(p)));
9136    }
9137    void code44(BURS_TreeNode p) {
9138        augmentAddress(Binary.getVal1(P(p)));
9139    }
9140    void code45(BURS_TreeNode p) {
9141        augmentAddress(Binary.getVal2(P(p)));
9142    }
9143    void code46(BURS_TreeNode p) {
9144        augmentAddress(Binary.getVal2(P(p)));
9145    }
9146    void code47(BURS_TreeNode p) {
9147        combineAddresses();
9148    }
9149    void code48(BURS_TreeNode p) {
9150        combineAddresses();
9151    }
9152    void code49(BURS_TreeNode p) {
9153        augmentAddress(Binary.getVal2(P(p))); 
9154    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9155    }
9156    void code50(BURS_TreeNode p) {
9157        augmentAddress(Binary.getVal1(P(p))); 
9158    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9159    }
9160    void code51(BURS_TreeNode p) {
9161        combineAddresses(); 
9162    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9163    }
9164    void code52(BURS_TreeNode p) {
9165        combineAddresses(); 
9166    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9167    }
9168    void code53(BURS_TreeNode p) {
9169        augmentAddress(Binary.getVal2(P(p))); 
9170    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9171    }
9172    void code54(BURS_TreeNode p) {
9173        EMIT_Lea(P(p), Move.getResult(P(p)), consumeAddress(DW, null, null));
9174    }
9175    void code55(BURS_TreeNode p) {
9176        EMIT(InlineGuard.mutate(P(p), IG_PATCH_POINT, null, null, null, InlineGuard.getTarget(P(p)), InlineGuard.getBranchProfile(P(p))));
9177    }
9178    void code56(BURS_TreeNode p) {
9179        EMIT(P(p));
9180    }
9181    void code57(BURS_TreeNode p) {
9182        EMIT(P(p));
9183    }
9184    void code58(BURS_TreeNode p) {
9185        EMIT(P(p));
9186    }
9187    void code59(BURS_TreeNode p) {
9188        EMIT(P(p));
9189    }
9190    void code60(BURS_TreeNode p) {
9191        EMIT(P(p));
9192    }
9193    void code61(BURS_TreeNode p) {
9194        LOWTABLESWITCH(P(p));
9195    }
9196    void code62(BURS_TreeNode p) {
9197        RESOLVE(P(p));
9198    }
9199    void code64(BURS_TreeNode p) {
9200        EMIT(P(p));
9201    }
9202    void code65(BURS_TreeNode p) {
9203        EMIT(P(p));
9204    }
9205    void code66(BURS_TreeNode p) {
9206        EMIT(P(p));
9207    }
9208    void code67(BURS_TreeNode p) {
9209        PROLOGUE(P(p));
9210    }
9211    void code68(BURS_TreeNode p) {
9212        GET_EXCEPTION_OBJECT(P(p));
9213    }
9214    void code69(BURS_TreeNode p) {
9215        SET_EXCEPTION_OBJECT(P(p));
9216    }
9217    void code70(BURS_TreeNode p) {
9218        EMIT(MIR_Trap.mutate(P(p), IA32_INT, Trap.getGuardResult(P(p)), Trap.getTCode(P(p))));
9219    }
9220    void code71(BURS_TreeNode p) {
9221        TRAP_IF_IMM(P(p), false);
9222    }
9223    void code72(BURS_TreeNode p) {
9224        TRAP_IF_IMM(P(p), true);
9225    }
9226    void code73(BURS_TreeNode p) {
9227        EMIT(MIR_TrapIf.mutate(P(p), IA32_TRAPIF, 
9228                           TrapIf.getGuardResult(P(p)), 
9229                           TrapIf.getVal1(P(p)), 
9230                           TrapIf.getVal2(P(p)), 
9231                           COND(TrapIf.getCond(P(p))), 
9232                           TrapIf.getTCode(P(p))));
9233    }
9234    void code74(BURS_TreeNode p) {
9235        EMIT(MIR_TrapIf.mutate(P(p), IA32_TRAPIF, 
9236                           TrapIf.getGuardResult(P(p)), 
9237                           consumeMO(), 
9238                           TrapIf.getVal2(P(p)), 
9239                           COND(TrapIf.getCond(P(p))), 
9240                           TrapIf.getTCode(P(p))));
9241    }
9242    void code75(BURS_TreeNode p) {
9243        EMIT(MIR_TrapIf.mutate(P(p), IA32_TRAPIF, 
9244                           TrapIf.getGuardResult(P(p)), 
9245                           TrapIf.getVal1(P(p)), 
9246                           consumeMO(), 
9247                           COND(TrapIf.getCond(P(p))), 
9248                           TrapIf.getTCode(P(p))));
9249    }
9250    void code76(BURS_TreeNode p) {
9251        EMIT_Commutative(IA32_XOR, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)), IC(1));
9252    }
9253    void code77(BURS_TreeNode p) {
9254        EMIT_Commutative(IA32_XOR, P(p), MO_S(P(p), B), MO_S(P(p), B), IC(1));
9255    }
9256    void code78(BURS_TreeNode p) {
9257        EMIT_Commutative(IA32_XOR, P(p), MO_AS(P(p), B_S, B), MO_AS(P(p), B_S, B), IC(1));
9258    }
9259    void code79(BURS_TreeNode p) {
9260        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), 
9261       BooleanCmp.getVal1(P(p)), BooleanCmp.getVal2(P(p)), 
9262       BooleanCmp.getCond(P(p)));
9263    }
9264    void code80(BURS_TreeNode p) {
9265        pushCOND(BooleanCmp.getCond(P(p))); 
9266    EMIT(MIR_Compare.mutate(P(p), IA32_CMP, BooleanCmp.getVal1(P(p)), BooleanCmp.getVal2(P(p))));
9267    }
9268    void code81(BURS_TreeNode p) {
9269        EMIT(CPOS(P(p),MIR_Test.create(IA32_TEST, BooleanCmp.getVal1(P(p)), BooleanCmp.getVal1(P(p)).copy())));
9270    BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getCond(P(p)));
9271    }
9272    void code82(BURS_TreeNode p) {
9273        pushCOND(BooleanCmp.getCond(P(p))); 
9274    EMIT(CPOS(P(p),MIR_Test.create(IA32_TEST, BooleanCmp.getVal1(P(p)), BooleanCmp.getVal1(P(p)).copy())));
9275    }
9276    void code83(BURS_TreeNode p) {
9277        EMIT_Commutative(IA32_SHR, P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getVal1(P(p)), IC(31));
9278    }
9279    void code84(BURS_TreeNode p) {
9280        EMIT_Commutative(IA32_SHR, P(p), BooleanCmp.getResult(P(p)), consumeMO(), IC(31));
9281    }
9282    void code85(BURS_TreeNode p) {
9283        RegisterOperand result = BooleanCmp.getResult(P(p)); 
9284    EMIT_Commutative(IA32_SHR, P(p), result, BooleanCmp.getVal1(P(p)), IC(31)); 
9285    EMIT(CPOS(P(p),MIR_BinaryAcc.create(IA32_XOR, result.copyRO(), IC(1))));
9286    }
9287    void code86(BURS_TreeNode p) {
9288        RegisterOperand result = BooleanCmp.getResult(P(p)); 
9289    EMIT_Commutative(IA32_SHR, P(p), result, consumeMO(), IC(31)); 
9290    EMIT(CPOS(P(p),MIR_BinaryAcc.create(IA32_XOR, result.copyRO(), IC(1))));
9291    }
9292    void code87(BURS_TreeNode p) {
9293        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getCond(P(p)));
9294    }
9295    void code88(BURS_TreeNode p) {
9296        pushCOND(BooleanCmp.getCond(P(p)));
9297    }
9298    void code89(BURS_TreeNode p) {
9299        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getCond(P(p)));
9300    }
9301    void code90(BURS_TreeNode p) {
9302        pushCOND(BooleanCmp.getCond(P(p)));
9303    }
9304    void code91(BURS_TreeNode p) {
9305        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), BIT_TEST(VR(p),BooleanCmp.getCond(P(p))));
9306    }
9307    void code92(BURS_TreeNode p) {
9308        pushCOND(BIT_TEST(VR(p),BooleanCmp.getCond(P(p))));
9309    }
9310    void code93(BURS_TreeNode p) {
9311        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), consumeCOND());
9312    }
9313    void code95(BURS_TreeNode p) {
9314        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), consumeCOND().flipCode());
9315    }
9316    void code96(BURS_TreeNode p) {
9317        pushCOND(consumeCOND().flipCode()); // invert already pushed condition
9318    }
9319    void code97(BURS_TreeNode p) {
9320        BOOLEAN_CMP_INT(PL(p), BooleanCmp.getResult(P(p)), 
9321                consumeMO(), BooleanCmp.getVal2(P(p)), 
9322                BooleanCmp.getCond(P(p)));
9323    }
9324    void code98(BURS_TreeNode p) {
9325        pushCOND(BooleanCmp.getCond(P(p))); 
9326    EMIT(MIR_Compare.mutate(PL(p), IA32_CMP, consumeMO(), BooleanCmp.getVal2(P(p))));
9327    }
9328    void code99(BURS_TreeNode p) {
9329        BOOLEAN_CMP_INT(PR(p), BooleanCmp.getResult(P(p)), 
9330                BooleanCmp.getVal1(P(p)), consumeMO(), 
9331                BooleanCmp.getCond(P(p)));
9332    }
9333    void code100(BURS_TreeNode p) {
9334        pushCOND(BooleanCmp.getCond(P(p)).flipOperands()); 
9335    EMIT(MIR_Compare.mutate(PR(p), IA32_CMP, consumeMO(), BooleanCmp.getVal1(P(p))));
9336    }
9337    void code101(BURS_TreeNode p) {
9338        EMIT(MIR_Set.mutate(P(p), IA32_SET__B, MO_S(P(p),B), COND(consumeCOND())));
9339    }
9340    void code102(BURS_TreeNode p) {
9341        EMIT(MIR_Set.mutate(P(p), IA32_SET__B, MO_AS(P(p),B_S,B), COND(consumeCOND())));
9342    }
9343    void code103(BURS_TreeNode p) {
9344        BOOLEAN_CMP_LONG(P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getVal1(P(p)), BooleanCmp.getVal2(P(p)), BooleanCmp.getCond(P(p)));
9345    }
9346    void code104(BURS_TreeNode p) {
9347        pushCOND(BooleanCmp.getCond(P(p))); 
9348    LONG_CMP(P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getVal1(P(p)), BooleanCmp.getVal2(P(p))); 
9349    EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, BooleanCmp.getResult(P(p)), IC(0))));
9350    }
9351    void code105(BURS_TreeNode p) {
9352        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP,  CondMove.getVal1(P(p)), CondMove.getVal2(P(p))))); 
9353    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9354             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9355    }
9356    void code106(BURS_TreeNode p) {
9357        EMIT(CPOS(P(p), MIR_Test.create(IA32_TEST, CondMove.getVal1(P(p)), CondMove.getVal1(P(p)).copy()))); 
9358    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9359             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9360    }
9361    void code107(BURS_TreeNode p) {
9362        EMIT_Commutative(IA32_SAR, P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), IC(31));
9363    }
9364    void code108(BURS_TreeNode p) {
9365        EMIT_Commutative(IA32_SAR, P(p), CondMove.getResult(P(p)), consumeMO(), IC(31));
9366    }
9367    void code109(BURS_TreeNode p) {
9368        RegisterOperand result = CondMove.getResult(P(p)); 
9369    EMIT_Commutative(IA32_SAR, P(p), result, CondMove.getVal1(P(p)), IC(31)); 
9370    EMIT(CPOS(P(p),MIR_UnaryAcc.create(IA32_NOT, result.copyRO())));
9371    }
9372    void code110(BURS_TreeNode p) {
9373        RegisterOperand result = CondMove.getResult(P(p)); 
9374    EMIT_Commutative(IA32_SAR, P(p), result, consumeMO(), IC(31)); 
9375    EMIT(CPOS(P(p),MIR_UnaryAcc.create(IA32_NOT, result.copyRO())));
9376    }
9377    void code111(BURS_TreeNode p) {
9378        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal2(P(p))))); 
9379    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9380             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9381    }
9382    void code112(BURS_TreeNode p) {
9383        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal2(P(p))))); 
9384    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9385             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9386    }
9387    void code113(BURS_TreeNode p) {
9388        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal2(P(p))))); 
9389    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9390             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9391    }
9392    void code114(BURS_TreeNode p) {
9393        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal2(P(p))))); 
9394    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9395             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9396    }
9397    void code115(BURS_TreeNode p) {
9398        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal2(P(p))))); 
9399    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9400             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9401    }
9402    void code116(BURS_TreeNode p) {
9403        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal1(P(p))))); 
9404    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)).flipOperands(), 
9405             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9406    }
9407    void code117(BURS_TreeNode p) {
9408        CMOV_MOV(P(p), CondMove.getResult(P(p)), consumeCOND(), 
9409             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9410    }
9411    void code118(BURS_TreeNode p) {
9412        CMOV_MOV(P(p), CondMove.getResult(P(p)), consumeCOND().flipCode(), 
9413             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9414    }
9415    void code119(BURS_TreeNode p) {
9416        CMOV_MOV(P(p), CondMove.getResult(P(p)), BIT_TEST(VRL(p), CondMove.getCond(P(p))), 
9417             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9418    }
9419    void code120(BURS_TreeNode p) {
9420        CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9421             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9422    }
9423    void code121(BURS_TreeNode p) {
9424        CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9425             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9426    }
9427    void code122(BURS_TreeNode p) {
9428        LCMP_CMOV(P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), CondMove.getVal2(P(p)),
9429              CondMove.getCond(P(p)), CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9430    }
9431    void code123(BURS_TreeNode p) {
9432        EMIT_Commutative(IA32_ADD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9433    }
9434    void code124(BURS_TreeNode p) {
9435        if (Binary.getVal2(P(p)).isIntConstant()) { 
9436     pushAddress(R(Binary.getVal1(P(p))), null, B_S, Offset.fromIntSignExtend(VR(p))); 
9437    } else { 
9438     pushAddress(R(Binary.getVal1(P(p))), R(Binary.getVal2(P(p))), B_S, Offset.zero()); 
9439    } 
9440    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9441    }
9442    void code125(BURS_TreeNode p) {
9443        EMIT_Commutative(IA32_ADD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
9444    }
9445    void code126(BURS_TreeNode p) {
9446        EMIT_Commutative(IA32_ADD, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
9447    }
9448    void code127(BURS_TreeNode p) {
9449        EMIT_Commutative(IA32_ADD, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal2(PL(p)));
9450    }
9451    void code128(BURS_TreeNode p) {
9452        EMIT_Commutative(IA32_ADD, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal1(PL(p)));
9453    }
9454    void code129(BURS_TreeNode p) {
9455        EMIT_Commutative(IA32_ADD, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p)));
9456    }
9457    void code130(BURS_TreeNode p) {
9458        EMIT_Commutative(IA32_ADD, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal1(PL(p)));
9459    }
9460    void code131(BURS_TreeNode p) {
9461        EMIT_NonCommutative(IA32_SUB, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9462    }
9463    void code132(BURS_TreeNode p) {
9464        EMIT(CPOS(P(p), MIR_UnaryAcc.create(IA32_NEG, Binary.getResult(P(p))))); 
9465    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_ADD, Binary.getResult(P(p)), Binary.getVal1(P(p))));
9466    }
9467    void code133(BURS_TreeNode p) {
9468        EMIT(CPOS(P(p), MIR_UnaryAcc.create(IA32_NEG, Binary.getResult(P(p))))); 
9469    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_ADD, Binary.getResult(P(p)), consumeMO()));
9470    }
9471    void code134(BURS_TreeNode p) {
9472        EMIT_NonCommutative(IA32_SUB, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
9473    }
9474    void code135(BURS_TreeNode p) {
9475        EMIT_NonCommutative(IA32_SUB, P(p), Binary.getResult(P(p)), consumeMO(), Binary.getVal2(P(p)));
9476    }
9477    void code136(BURS_TreeNode p) {
9478        EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SUB, MO_S(P(p), DW), Binary.getVal2(PL(p))));
9479    }
9480    void code137(BURS_TreeNode p) {
9481        MemoryOperand result = MO_S(P(p), DW); 
9482    EMIT(CPOS(P(p), MIR_UnaryAcc.create(IA32_NEG, result))); 
9483    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_ADD, result.copy(), Binary.getVal1(PL(p))));
9484    }
9485    void code138(BURS_TreeNode p) {
9486        EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SUB, MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p))));
9487    }
9488    void code139(BURS_TreeNode p) {
9489        MemoryOperand result = MO_AS(P(p), DW_S, DW); 
9490    EMIT(CPOS(P(p), MIR_UnaryAcc.create(IA32_NEG, result))); 
9491    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_ADD, result.copy(), Binary.getVal1(PL(p))));
9492    }
9493    void code140(BURS_TreeNode p) {
9494        EMIT_Commutative(IA32_IMUL2, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9495    }
9496    void code141(BURS_TreeNode p) {
9497        EMIT_Commutative(IA32_IMUL2, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
9498    }
9499    void code142(BURS_TreeNode p) {
9500        EMIT_Commutative(IA32_IMUL2, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
9501    }
9502    void code143(BURS_TreeNode p) {
9503        INT_DIVIDES(P(p), GuardedBinary.getResult(P(p)), GuardedBinary.getVal1(P(p)), 
9504                            GuardedBinary.getVal2(P(p)), true);
9505    }
9506    void code144(BURS_TreeNode p) {
9507        INT_DIVIDES(P(p), GuardedBinary.getResult(P(p)), GuardedBinary.getVal1(P(p)), 
9508                            consumeMO(), true);
9509    }
9510    void code145(BURS_TreeNode p) {
9511        INT_DIVIDES(P(p), GuardedBinary.getResult(P(p)), GuardedBinary.getVal1(P(p)), 
9512                            GuardedBinary.getVal2(P(p)), false);
9513    }
9514    void code146(BURS_TreeNode p) {
9515        INT_DIVIDES(P(p), GuardedBinary.getResult(P(p)), GuardedBinary.getVal1(P(p)), 
9516                            consumeMO(), false);
9517    }
9518    void code147(BURS_TreeNode p) {
9519        EMIT_Unary(IA32_NEG, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
9520    }
9521    void code148(BURS_TreeNode p) {
9522        EMIT_Unary(IA32_NEG, P(p), MO_S(P(p), DW), MO_S(P(p), DW));
9523    }
9524    void code149(BURS_TreeNode p) {
9525        EMIT_Unary(IA32_NEG, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW));
9526    }
9527    void code150(BURS_TreeNode p) {
9528        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PR(p))))); 
9529    EMIT_NonCommutative(IA32_SHL, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9530    }
9531    void code151(BURS_TreeNode p) {
9532        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal2(P(p))))); 
9533    EMIT_NonCommutative(IA32_SHL, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9534    }
9535    void code152(BURS_TreeNode p) {
9536        if (VM.VerifyAssertions) VM._assert((VR(p) & 0x7FFFFFFF) <= 31); if(Binary.getVal2(P(p)).asIntConstant().value == 1) { 
9537     EMIT_NonCommutative(IA32_ADD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal1(P(p)).copy()); 
9538    } else { 
9539     EMIT_NonCommutative(IA32_SHL, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p))); 
9540    }
9541    }
9542    void code153(BURS_TreeNode p) {
9543        pushAddress(null, Binary.getVal1(P(p)).asRegister(), LEA_SHIFT(Binary.getVal2(P(p))), Offset.zero()); 
9544    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9545    }
9546    void code154(BURS_TreeNode p) {
9547        EMIT_Commutative(IA32_AND, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)), IC(0xffffffff << VR(p)));
9548    }
9549    void code155(BURS_TreeNode p) {
9550        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p))))); 
9551    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHL, MO_S(P(p), DW), new RegisterOperand(getECX(), TypeReference.Int)));
9552    }
9553    void code156(BURS_TreeNode p) {
9554        if (VM.VerifyAssertions) VM._assert((VLR(p) & 0x7FFFFFFF) <= 31); 
9555    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHL, MO_S(P(p), DW), Binary.getVal2(PL(p))));
9556    }
9557    void code157(BURS_TreeNode p) {
9558        EMIT(MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p)))); 
9559    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHL, MO_AS(P(p), DW_S, DW), new RegisterOperand(getECX(), TypeReference.Int)));
9560    }
9561    void code158(BURS_TreeNode p) {
9562        EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHL, MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p))));
9563    }
9564    void code159(BURS_TreeNode p) {
9565        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PR(p))))); 
9566    EMIT_NonCommutative(IA32_SAR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9567    }
9568    void code160(BURS_TreeNode p) {
9569        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal2(P(p))))); 
9570    EMIT_NonCommutative(IA32_SAR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9571    }
9572    void code161(BURS_TreeNode p) {
9573        if (VM.VerifyAssertions) VM._assert((VR(p) & 0x7FFFFFFF) <= 31); 
9574    EMIT_NonCommutative(IA32_SAR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9575    }
9576    void code162(BURS_TreeNode p) {
9577        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p))))); 
9578    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SAR, MO_S(P(p), DW), new RegisterOperand(getECX(), TypeReference.Int)));
9579    }
9580    void code163(BURS_TreeNode p) {
9581        if (VM.VerifyAssertions) VM._assert((VLR(p) & 0x7FFFFFFF) <= 31); 
9582    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SAR, MO_S(P(p), DW), Binary.getVal2(PL(p))));
9583    }
9584    void code164(BURS_TreeNode p) {
9585        EMIT(MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p)))); 
9586    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SAR, MO_AS(P(p), DW_S, DW), new RegisterOperand(getECX(), TypeReference.Int)));
9587    }
9588    void code165(BURS_TreeNode p) {
9589        EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SAR, MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p))));
9590    }
9591    void code166(BURS_TreeNode p) {
9592        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PR(p))))); 
9593    EMIT_NonCommutative(IA32_SHR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9594    }
9595    void code167(BURS_TreeNode p) {
9596        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal2(P(p))))); 
9597    EMIT_NonCommutative(IA32_SHR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9598    }
9599    void code168(BURS_TreeNode p) {
9600        if (VM.VerifyAssertions) VM._assert((VR(p) & 0x7FFFFFFF) <= 31); 
9601    EMIT_NonCommutative(IA32_SHR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9602    }
9603    void code169(BURS_TreeNode p) {
9604        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p))))); 
9605    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHR, MO_S(P(p), DW), new RegisterOperand(getECX(), TypeReference.Int)));
9606    }
9607    void code170(BURS_TreeNode p) {
9608        if (VM.VerifyAssertions) VM._assert((VLR(p) & 0x7FFFFFFF) <= 31); 
9609    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHR, MO_S(P(p), DW), Binary.getVal2(PL(p))));
9610    }
9611    void code171(BURS_TreeNode p) {
9612        EMIT(MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p)))); 
9613    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHR, MO_AS(P(p), DW_S, DW), new RegisterOperand(getECX(), TypeReference.Int)));
9614    }
9615    void code172(BURS_TreeNode p) {
9616        EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHR, MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p))));
9617    }
9618    void code173(BURS_TreeNode p) {
9619        EMIT_NonCommutative(IA32_ROL, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), IC(VLR(p)&0x1f));
9620    }
9621    void code174(BURS_TreeNode p) {
9622        EMIT_NonCommutative(IA32_ROL, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), IC(VRR(p)&0x1f));
9623    }
9624    void code175(BURS_TreeNode p) {
9625        EMIT_NonCommutative(IA32_ROR, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), IC(1));
9626    }
9627    void code176(BURS_TreeNode p) {
9628        EMIT_NonCommutative(IA32_ROR, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), IC(1));
9629    }
9630    void code177(BURS_TreeNode p) {
9631        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p))))); 
9632    EMIT_NonCommutative(IA32_ROL, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), new RegisterOperand(getECX(), TypeReference.Int));
9633    }
9634    void code178(BURS_TreeNode p) {
9635        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PRR(p))))); 
9636    EMIT_NonCommutative(IA32_ROL, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), new RegisterOperand(getECX(), TypeReference.Int));
9637    }
9638    void code179(BURS_TreeNode p) {
9639        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PRR(p))))); 
9640    EMIT_NonCommutative(IA32_ROR, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), new RegisterOperand(getECX(), TypeReference.Int));
9641    }
9642    void code180(BURS_TreeNode p) {
9643        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p))))); 
9644    EMIT_NonCommutative(IA32_ROR, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), new RegisterOperand(getECX(), TypeReference.Int));
9645    }
9646    void code181(BURS_TreeNode p) {
9647        EMIT_Commutative(IA32_AND, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9648    }
9649    void code182(BURS_TreeNode p) {
9650        EMIT(MIR_Test.mutate(P(p), IA32_TEST, Binary.getVal1(P(p)), Binary.getVal2(P(p))));
9651    }
9652    void code183(BURS_TreeNode p) {
9653        EMIT_Commutative(IA32_AND, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
9654    }
9655    void code184(BURS_TreeNode p) {
9656        EMIT_Commutative(IA32_AND, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
9657    }
9658    void code185(BURS_TreeNode p) {
9659        EMIT(MIR_Test.mutate(P(p), IA32_TEST, consumeMO(), Binary.getVal2(P(p))));
9660    }
9661    void code186(BURS_TreeNode p) {
9662        EMIT(MIR_Test.mutate(P(p), IA32_TEST, consumeMO(), Binary.getVal1(P(p))));
9663    }
9664    void code187(BURS_TreeNode p) {
9665        EMIT_Commutative(IA32_AND, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal2(PL(p)) );
9666    }
9667    void code188(BURS_TreeNode p) {
9668        EMIT_Commutative(IA32_AND, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal1(PL(p)) );
9669    }
9670    void code189(BURS_TreeNode p) {
9671        EMIT_Commutative(IA32_AND, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p)) );
9672    }
9673    void code190(BURS_TreeNode p) {
9674        EMIT_Commutative(IA32_AND, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal1(PL(p)) );
9675    }
9676    void code191(BURS_TreeNode p) {
9677        EMIT_Commutative(IA32_OR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9678    }
9679    void code192(BURS_TreeNode p) {
9680        EMIT_Commutative(IA32_OR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO() );
9681    }
9682    void code193(BURS_TreeNode p) {
9683        EMIT_Commutative(IA32_OR, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO() );
9684    }
9685    void code194(BURS_TreeNode p) {
9686        EMIT_Commutative(IA32_OR, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal2(PL(p)) );
9687    }
9688    void code195(BURS_TreeNode p) {
9689        EMIT_Commutative(IA32_OR, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal1(PL(p)) );
9690    }
9691    void code196(BURS_TreeNode p) {
9692        EMIT_Commutative(IA32_OR, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p)) );
9693    }
9694    void code197(BURS_TreeNode p) {
9695        EMIT_Commutative(IA32_OR, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal1(PL(p)) );
9696    }
9697    void code198(BURS_TreeNode p) {
9698        EMIT_Commutative(IA32_XOR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9699    }
9700    void code199(BURS_TreeNode p) {
9701        EMIT_Commutative(IA32_XOR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO() );
9702    }
9703    void code200(BURS_TreeNode p) {
9704        EMIT_Commutative(IA32_XOR, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO() );
9705    }
9706    void code201(BURS_TreeNode p) {
9707        EMIT_Commutative(IA32_XOR, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal2(PL(p)) );
9708    }
9709    void code202(BURS_TreeNode p) {
9710        EMIT_Commutative(IA32_XOR, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal1(PL(p)) );
9711    }
9712    void code203(BURS_TreeNode p) {
9713        EMIT_Commutative(IA32_XOR, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p)) );
9714    }
9715    void code204(BURS_TreeNode p) {
9716        EMIT_Commutative(IA32_XOR, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal1(PL(p)) );
9717    }
9718    void code205(BURS_TreeNode p) {
9719        EMIT_Unary(IA32_NOT, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
9720    }
9721    void code206(BURS_TreeNode p) {
9722        EMIT_Unary(IA32_NOT, P(p), MO_S(P(p), DW), MO_S(P(p), DW));
9723    }
9724    void code207(BURS_TreeNode p) {
9725        EMIT_Unary(IA32_NOT, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW));
9726    }
9727    void code208(BURS_TreeNode p) {
9728        LONG_ADD(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9729    }
9730    void code209(BURS_TreeNode p) {
9731        LONG_SUB(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9732    }
9733    void code210(BURS_TreeNode p) {
9734        LONG_MUL(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9735    }
9736    void code211(BURS_TreeNode p) {
9737        LONG_NEG(P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
9738    }
9739    void code212(BURS_TreeNode p) {
9740        LONG_SHL(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)), false);
9741    }
9742    void code213(BURS_TreeNode p) {
9743        if (VM.VerifyAssertions) VM._assert((VRR(p) & 0x7FFFFFFF) <= 63); 
9744    LONG_SHL(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal1(PR(p)), true);
9745    }
9746    void code214(BURS_TreeNode p) {
9747        LONG_SHR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)), false);
9748    }
9749    void code215(BURS_TreeNode p) {
9750        if (VM.VerifyAssertions) VM._assert((VRR(p) & 0x7FFFFFFF) <= 63); 
9751    LONG_SHR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal1(PR(p)), true);
9752    }
9753    void code216(BURS_TreeNode p) {
9754        LONG_USHR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)), false);
9755    }
9756    void code217(BURS_TreeNode p) {
9757        if (VM.VerifyAssertions) VM._assert((VRR(p) & 0x7FFFFFFF) <= 63); 
9758    LONG_USHR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal1(PR(p)), true);
9759    }
9760    void code218(BURS_TreeNode p) {
9761        LONG_AND(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9762    }
9763    void code219(BURS_TreeNode p) {
9764        LONG_OR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9765    }
9766    void code220(BURS_TreeNode p) {
9767        LONG_XOR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9768    }
9769    void code221(BURS_TreeNode p) {
9770        LONG_NOT(P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
9771    }
9772    void code222(BURS_TreeNode p) {
9773        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__B, Unary.getResult(P(p)), Unary.getVal(P(p))));
9774    }
9775    void code223(BURS_TreeNode p) {
9776        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__B, Unary.getResult(P(p)), consumeMO()));
9777    }
9778    void code224(BURS_TreeNode p) {
9779        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), B), Unary.getVal(PL(p))));
9780    }
9781    void code225(BURS_TreeNode p) {
9782        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), B_S, B), Unary.getVal(PL(p))));
9783    }
9784    void code226(BURS_TreeNode p) {
9785        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, Unary.getResult(P(p)), Unary.getVal(P(p))))); 
9786    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_AND, Unary.getResult(P(p)).copyRO(), IC(0xFFFF)));
9787    }
9788    void code227(BURS_TreeNode p) {
9789        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, Unary.getResult(P(p)), setSize(consumeMO(),2)));
9790    }
9791    void code228(BURS_TreeNode p) {
9792        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), W), Unary.getVal(PL(p))));
9793    }
9794    void code229(BURS_TreeNode p) {
9795        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), W_S, W), Unary.getVal(PL(p))));
9796    }
9797    void code230(BURS_TreeNode p) {
9798        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__W, Unary.getResult(P(p)), Unary.getVal(P(p))));
9799    }
9800    void code231(BURS_TreeNode p) {
9801        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__W, Unary.getResult(P(p)), consumeMO()));
9802    }
9803    void code232(BURS_TreeNode p) {
9804        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), W), Unary.getVal(PL(p))));
9805    }
9806    void code233(BURS_TreeNode p) {
9807        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), W_S, W), Unary.getVal(PL(p))));
9808    }
9809    void code234(BURS_TreeNode p) {
9810        INT_2LONG(P(p), Unary.getResult(P(p)), Unary.getVal(P(p)), true);
9811    }
9812    void code235(BURS_TreeNode p) {
9813        INT_2LONG(P(p), Unary.getResult(P(p)), consumeMO(), true);
9814    }
9815    void code236(BURS_TreeNode p) {
9816        INT_2LONG(P(p), Binary.getResult(P(p)), Unary.getVal(PL(p)), false);
9817    }
9818    void code237(BURS_TreeNode p) {
9819        INT_2LONG(P(p), Binary.getResult(P(p)), consumeMO(), false);
9820    }
9821    void code238(BURS_TreeNode p) {
9822        Register hr = Binary.getResult(P(p)).getRegister(); 
9823    Register lr = regpool.getSecondReg(hr); 
9824    EMIT(MIR_Move.mutate(P(p), IA32_MOV, new RegisterOperand(hr, TypeReference.Int), Unary.getVal(PL(p)).copy())); 
9825    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(lr, TypeReference.Int), IC(0))));
9826    }
9827    void code239(BURS_TreeNode p) {
9828        Register hr = Binary.getResult(P(p)).getRegister(); 
9829    Register lr = regpool.getSecondReg(hr); 
9830    EMIT(MIR_Move.mutate(P(p), IA32_MOV, new RegisterOperand(hr, TypeReference.Int), setSize(consumeMO(),4))); 
9831    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(lr, TypeReference.Int), IC(0))));
9832    }
9833    void code240(BURS_TreeNode p) {
9834        INT_2LONG(P(p), Unary.getResult(P(p)), Unary.getVal(P(p)), false);
9835    }
9836    void code241(BURS_TreeNode p) {
9837        INT_2LONG(P(p), Unary.getResult(P(p)), consumeMO(), false);
9838    }
9839    void code242(BURS_TreeNode p) {
9840        Register lh = regpool.getSecondReg(R(Unary.getVal(P(p))).getRegister()); 
9841    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), new RegisterOperand(lh, TypeReference.Int)));
9842    }
9843    void code243(BURS_TreeNode p) {
9844        Register lh = regpool.getSecondReg(R(Unary.getVal(PL(p))).getRegister()); 
9845    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), DW), new RegisterOperand(lh, TypeReference.Int)));
9846    }
9847    void code244(BURS_TreeNode p) {
9848        Register lh = regpool.getSecondReg(R(Unary.getVal(PL(p))).getRegister()); 
9849    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), DW_S, DW), new RegisterOperand(lh, TypeReference.Int)));
9850    }
9851    void code245(BURS_TreeNode p) {
9852        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), setSize(consumeMO(),4)));
9853    }
9854    void code246(BURS_TreeNode p) {
9855        Register uh = Binary.getVal1(PL(p)).asRegister().getRegister(); 
9856    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), new RegisterOperand(uh, TypeReference.Int)));
9857    }
9858    void code247(BURS_TreeNode p) {
9859        Register uh = Binary.getVal1(PL(p)).asRegister().getRegister(); 
9860    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), new RegisterOperand(uh, TypeReference.Int)));
9861    }
9862    void code248(BURS_TreeNode p) {
9863        MemoryOperand mo = consumeMO(); 
9864    mo.disp = mo.disp.plus(4); 
9865    mo = setSize(mo,4); 
9866    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), mo));
9867    }
9868    void code249(BURS_TreeNode p) {
9869        MemoryOperand mo = consumeMO(); 
9870    mo.disp = mo.disp.plus(4); 
9871    mo = setSize(mo,4); 
9872    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), mo));
9873    }
9874    void code250(BURS_TreeNode p) {
9875        MemoryOperand mo = consumeMO(); 
9876    mo.disp = mo.disp.plus(4); 
9877    mo = setSize(mo,4); 
9878    pushMO(mo);
9879    }
9880    void code251(BURS_TreeNode p) {
9881        MemoryOperand mo = consumeMO(); 
9882    mo.disp = mo.disp.plus(4); 
9883    mo = setSize(mo,4); 
9884    pushMO(mo);
9885    }
9886    void code252(BURS_TreeNode p) {
9887        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Move.getResult(P(p)), Move.getVal(P(p))));
9888    }
9889    void code253(BURS_TreeNode p) {
9890        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Move.getResult(P(p)), Move.getVal(P(p))));
9891    }
9892    void code255(BURS_TreeNode p) {
9893        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Move.getResult(P(p)), Move.getVal(P(p))));
9894    }
9895    void code268(BURS_TreeNode p) {
9896        Register res1 = Move.getResult(P(p)).getRegister();           
9897    Register res2 = regpool.getSecondReg(res1);              
9898    Register val1 = Move.getVal(P(p)).asRegister().getRegister(); 
9899    Register val2 = regpool.getSecondReg(val1);              
9900    EMIT(MIR_Move.mutate(P(p), IA32_MOV, new RegisterOperand(res1, TypeReference.Int), 
9901                         new RegisterOperand(val1, TypeReference.Int)));               
9902    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(res2, TypeReference.Int), 
9903                         new RegisterOperand(val2, TypeReference.Int))));
9904    }
9905    void code269(BURS_TreeNode p) {
9906        Register res1 = Move.getResult(P(p)).getRegister();   
9907    Register res2 = regpool.getSecondReg(res1);      
9908    LongConstantOperand val = LC(Move.getVal(P(p))); 
9909    EMIT(MIR_Move.mutate(P(p), IA32_MOV, new RegisterOperand(res1, TypeReference.Int), IC(val.upper32()))); 
9910    EMIT(CPOS(P(p),MIR_Move.create(IA32_MOV, new RegisterOperand(res2, TypeReference.Int), IC(val.lower32()))));
9911    }
9912    void code270(BURS_TreeNode p) {
9913        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Nullary.getResult(P(p)), new RegisterOperand(getESI(), TypeReference.Int)));
9914    }
9915    void code271(BURS_TreeNode p) {
9916        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__B, Load.getResult(P(p)), MO_L(P(p), B)));
9917    }
9918    void code272(BURS_TreeNode p) {
9919        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__B, ALoad.getResult(P(p)), MO_AL(P(p), B_S, B)));
9920    }
9921    void code273(BURS_TreeNode p) {
9922        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__B, Load.getResult(P(p)), MO_L(P(p), B)));
9923    }
9924    void code274(BURS_TreeNode p) {
9925        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__B, ALoad.getResult(P(p)), MO_AL(P(p), B_S, B)));
9926    }
9927    void code275(BURS_TreeNode p) {
9928        pushMO(setSize(consumeMO(),1));
9929    }
9930    void code276(BURS_TreeNode p) {
9931        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__B, Binary.getResult(P(p)), setSize(consumeMO(),1)));
9932    }
9933    void code277(BURS_TreeNode p) {
9934        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__B, Unary.getResult(P(p)), setSize(consumeMO(),1)));
9935    }
9936    void code278(BURS_TreeNode p) {
9937        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__B, Binary.getResult(P(p)), setSize(consumeMO(),1)));
9938    }
9939    void code279(BURS_TreeNode p) {
9940        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__W, Load.getResult(P(p)), MO_L(P(p), W)));
9941    }
9942    void code280(BURS_TreeNode p) {
9943        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__W, ALoad.getResult(P(p)), MO_AL(P(p), W_S, W)));
9944    }
9945    void code281(BURS_TreeNode p) {
9946        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, Load.getResult(P(p)), MO_L(P(p), W)));
9947    }
9948    void code282(BURS_TreeNode p) {
9949        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, ALoad.getResult(P(p)), MO_AL(P(p), W_S, W)));
9950    }
9951    void code283(BURS_TreeNode p) {
9952        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, Binary.getResult(P(p)), setSize(consumeMO(),2)));
9953    }
9954    void code284(BURS_TreeNode p) {
9955        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, Unary.getResult(P(p)), setSize(consumeMO(),2)));
9956    }
9957    void code285(BURS_TreeNode p) {
9958        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__W, Unary.getResult(P(p)), setSize(consumeMO(),2)));
9959    }
9960    void code286(BURS_TreeNode p) {
9961        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, Binary.getResult(P(p)), setSize(consumeMO(),2)));
9962    }
9963    void code287(BURS_TreeNode p) {
9964        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), MO_L(P(p), DW)));
9965    }
9966    void code288(BURS_TreeNode p) {
9967        augmentAddress(Load.getAddress(P(p))); 
9968    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), 
9969                         consumeAddress(DW, Load.getLocation(P(p)), Load.getGuard(P(p)))));
9970    }
9971    void code289(BURS_TreeNode p) {
9972        augmentAddress(Load.getOffset(P(p))); 
9973    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), 
9974                         consumeAddress(DW, Load.getLocation(P(p)), Load.getGuard(P(p)))));
9975    }
9976    void code290(BURS_TreeNode p) {
9977        combineAddresses(); 
9978    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), 
9979                         consumeAddress(DW, Load.getLocation(P(p)), Load.getGuard(P(p)))));
9980    }
9981    void code291(BURS_TreeNode p) {
9982        combineAddresses(); 
9983    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), 
9984                         consumeAddress(DW, Load.getLocation(P(p)), Load.getGuard(P(p)))));
9985    }
9986    void code292(BURS_TreeNode p) {
9987        augmentAddress(Load.getOffset(P(p))); 
9988    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), 
9989                         consumeAddress(DW, Load.getLocation(P(p)), Load.getGuard(P(p)))));
9990    }
9991    void code293(BURS_TreeNode p) {
9992        EMIT(MIR_Move.mutate(P(p), IA32_MOV, ALoad.getResult(P(p)), MO_AL(P(p), DW_S, DW)));
9993    }
9994    void code294(BURS_TreeNode p) {
9995        RegisterOperand hres = Load.getResult(P(p)); 
9996    RegisterOperand lres = new RegisterOperand(regpool.getSecondReg(hres.getRegister()), TypeReference.Int); 
9997    hres.setType(TypeReference.Int); 
9998    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, hres, MO_L(P(p), DW, DW).copy()))); 
9999    EMIT(MIR_Move.mutate(P(p), IA32_MOV, lres, MO_L(P(p), DW)));
10000    }
10001    void code295(BURS_TreeNode p) {
10002        RegisterOperand hres = ALoad.getResult(P(p)); 
10003    RegisterOperand lres = new RegisterOperand(regpool.getSecondReg(hres.getRegister()), TypeReference.Int); 
10004    hres.setType(TypeReference.Int); 
10005    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, hres, MO_AL(P(p), QW_S, DW, DW).copy()))); 
10006    EMIT(MIR_Move.mutate(P(p), IA32_MOV, lres, MO_AL(P(p), QW_S, DW)));
10007    }
10008    void code296(BURS_TreeNode p) {
10009        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10010                         MO(Prepare.getAddress(P(p)), Prepare.getOffset(P(p)), DW, 
10011                            Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10012    }
10013    void code297(BURS_TreeNode p) {
10014        augmentAddress(Prepare.getAddress(P(p))); 
10015    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10016                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10017    }
10018    void code298(BURS_TreeNode p) {
10019        augmentAddress(Prepare.getOffset(P(p))); 
10020    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10021                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10022    }
10023    void code299(BURS_TreeNode p) {
10024        combineAddresses(); 
10025    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10026                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10027    }
10028    void code300(BURS_TreeNode p) {
10029        combineAddresses(); 
10030    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10031                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10032    }
10033    void code301(BURS_TreeNode p) {
10034        augmentAddress(Prepare.getOffset(P(p))); 
10035    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10036                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10037    }
10038    void code302(BURS_TreeNode p) {
10039        augmentAddress(Prepare.getAddress(P(p))); 
10040    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10041                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10042    }
10043    void code303(BURS_TreeNode p) {
10044        RegisterOperand hres = Prepare.getResult(P(p)); 
10045    hres.setType(TypeReference.Int); 
10046    MemoryOperand hmo = MO(Prepare.getAddress(P(p)), Prepare.getOffset(P(p)), DW, 
10047                           Prepare.getLocation(P(p)), Prepare.getGuard(P(p)), DW); 
10048    RegisterOperand lres = new RegisterOperand(regpool.getSecondReg(hres.getRegister()), TypeReference.Int); 
10049    MemoryOperand lmo = MO(Prepare.getAddress(P(p)) != null ? Prepare.getAddress(P(p)).copy() : null, 
10050                           Prepare.getOffset(P(p)) != null ? Prepare.getOffset(P(p)).copy() : null, 
10051                           DW, 
10052                           Prepare.getLocation(P(p)) != null ? (LocationOperand)Prepare.getLocation(P(p)).copy() : null, 
10053                           Prepare.getGuard(P(p)) != null ? Prepare.getGuard(P(p)).copy() : null); 
10054    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, hres, hmo))); 
10055    EMIT(MIR_Move.mutate(P(p), IA32_MOV, lres, lmo));
10056    }
10057    void code304(BURS_TreeNode p) {
10058        ATTEMPT(Attempt.getResult(P(p)), 
10059                  MO(Attempt.getAddress(P(p)), Attempt.getOffset(P(p)), DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10060                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10061    }
10062    void code305(BURS_TreeNode p) {
10063        augmentAddress(Attempt.getAddress(P(p))); 
10064    ATTEMPT(Attempt.getResult(P(p)), 
10065                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10066                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10067    }
10068    void code306(BURS_TreeNode p) {
10069        augmentAddress(Attempt.getOffset(P(p))); 
10070    ATTEMPT(Attempt.getResult(P(p)), 
10071                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10072                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10073    }
10074    void code307(BURS_TreeNode p) {
10075        combineAddresses(); 
10076    ATTEMPT(Attempt.getResult(P(p)), 
10077                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10078                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10079    }
10080    void code308(BURS_TreeNode p) {
10081        combineAddresses(); 
10082    ATTEMPT(Attempt.getResult(P(p)), 
10083                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10084                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10085    }
10086    void code309(BURS_TreeNode p) {
10087        augmentAddress(Attempt.getOffset(P(p))); 
10088    ATTEMPT(Attempt.getResult(P(p)), 
10089                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10090                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10091    }
10092    void code310(BURS_TreeNode p) {
10093        augmentAddress(Attempt.getAddress(P(p))); 
10094    ATTEMPT(Attempt.getResult(P(p)), 
10095                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10096                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10097    }
10098    void code311(BURS_TreeNode p) {
10099        ATTEMPT_IFCMP(MO(Attempt.getAddress(PL(p)), Attempt.getOffset(PL(p)), DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10100                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10101                        IfCmp.getCond(P(p)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10102    }
10103    void code312(BURS_TreeNode p) {
10104        augmentAddress(Attempt.getAddress(PL(p))); 
10105    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10106                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10107                        IfCmp.getCond(P(p)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10108    }
10109    void code313(BURS_TreeNode p) {
10110        augmentAddress(Attempt.getOffset(PL(p))); 
10111    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10112                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10113                        IfCmp.getCond(P(p)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10114    }
10115    void code314(BURS_TreeNode p) {
10116        combineAddresses(); 
10117    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10118                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10119                        IfCmp.getCond(P(p)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10120    }
10121    void code315(BURS_TreeNode p) {
10122        combineAddresses(); 
10123    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10124                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10125                        IfCmp.getCond(P(p)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10126    }
10127    void code316(BURS_TreeNode p) {
10128        augmentAddress(Attempt.getOffset(PL(p))); 
10129    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10130                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10131                        IfCmp.getCond(P(p)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10132    }
10133    void code317(BURS_TreeNode p) {
10134        augmentAddress(Attempt.getAddress(PL(p))); 
10135    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10136                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10137                        IfCmp.getCond(P(p)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10138    }
10139    void code318(BURS_TreeNode p) {
10140        ATTEMPT_IFCMP(MO(Attempt.getAddress(PL(p)), Attempt.getOffset(PL(p)), DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10141                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10142                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10143    }
10144    void code319(BURS_TreeNode p) {
10145        augmentAddress(Attempt.getAddress(PL(p))); 
10146    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10147                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10148                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10149    }
10150    void code320(BURS_TreeNode p) {
10151        augmentAddress(Attempt.getOffset(PL(p))); 
10152    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10153                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10154                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10155    }
10156    void code321(BURS_TreeNode p) {
10157        combineAddresses(); 
10158    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10159                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10160                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10161    }
10162    void code322(BURS_TreeNode p) {
10163        combineAddresses(); 
10164    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10165                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10166                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10167    }
10168    void code323(BURS_TreeNode p) {
10169        augmentAddress(Attempt.getOffset(PL(p))); 
10170    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10171                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10172                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10173    }
10174    void code324(BURS_TreeNode p) {
10175        augmentAddress(Attempt.getAddress(PL(p))); 
10176    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10177                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10178                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10179    }
10180    void code325(BURS_TreeNode p) {
10181        ATTEMPT_LONG(Attempt.getResult(P(p)), 
10182                  MO(Attempt.getAddress(P(p)), Attempt.getOffset(P(p)), DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10183                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10184    }
10185    void code326(BURS_TreeNode p) {
10186        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), B), Store.getValue(P(p))));
10187    }
10188    void code327(BURS_TreeNode p) {
10189        Register tmp = regpool.getInteger(); 
10190    EMIT(CPOS(PL(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), consumeMO()))); 
10191    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), B), new RegisterOperand(tmp, TypeReference.Int)));
10192    }
10193    void code328(BURS_TreeNode p) {
10194        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), B_S, B), AStore.getValue(P(p))));
10195    }
10196    void code329(BURS_TreeNode p) {
10197        Register tmp = regpool.getInteger(); 
10198    EMIT(CPOS(PL(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), consumeMO()))); 
10199    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), B_S, B), new RegisterOperand(tmp, TypeReference.Int)));
10200    }
10201    void code330(BURS_TreeNode p) {
10202        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), W), Store.getValue(P(p))));
10203    }
10204    void code331(BURS_TreeNode p) {
10205        Register tmp = regpool.getInteger(); 
10206    EMIT(CPOS(PL(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), consumeMO()))); 
10207    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), W), new RegisterOperand(tmp, TypeReference.Int)));
10208    }
10209    void code332(BURS_TreeNode p) {
10210        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), W_S, W), AStore.getValue(P(p))));
10211    }
10212    void code333(BURS_TreeNode p) {
10213        Register tmp = regpool.getInteger(); 
10214    EMIT(CPOS(PL(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), consumeMO()))); 
10215    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), W_S, W), new RegisterOperand(tmp, TypeReference.Int)));
10216    }
10217    void code334(BURS_TreeNode p) {
10218        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), DW), Store.getValue(P(p))));
10219    }
10220    void code335(BURS_TreeNode p) {
10221        augmentAddress(Store.getAddress(P(p))); 
10222    EMIT(MIR_Move.mutate(P(p), IA32_MOV, 
10223                         consumeAddress(DW, Store.getLocation(P(p)), Store.getGuard(P(p))), 
10224                         Store.getValue(P(p))));
10225    }
10226    void code336(BURS_TreeNode p) {
10227        augmentAddress(Store.getOffset(P(p))); 
10228    EMIT(MIR_Move.mutate(P(p), IA32_MOV, 
10229                         consumeAddress(DW, Store.getLocation(P(p)), Store.getGuard(P(p))), 
10230                         Store.getValue(P(p))));
10231    }
10232    void code337(BURS_TreeNode p) {
10233        combineAddresses(); 
10234    EMIT(MIR_Move.mutate(P(p), IA32_MOV,  
10235                        consumeAddress(DW, Store.getLocation(P(p)), Store.getGuard(P(p))), 
10236                        Store.getValue(P(p))));
10237    }
10238    void code338(BURS_TreeNode p) {
10239        combineAddresses(); 
10240    EMIT(MIR_Move.mutate(P(p), IA32_MOV,  
10241                        consumeAddress(DW, Store.getLocation(P(p)), Store.getGuard(P(p))), 
10242                        Store.getValue(P(p))));
10243    }
10244    void code339(BURS_TreeNode p) {
10245        augmentAddress(Store.getOffset(P(p))); 
10246    EMIT(MIR_Move.mutate(P(p), IA32_MOV,  
10247                         consumeAddress(DW, Store.getLocation(P(p)), Store.getGuard(P(p))), 
10248                         Store.getValue(P(p))));
10249    }
10250    void code340(BURS_TreeNode p) {
10251        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), DW_S, DW), AStore.getValue(P(p))));
10252    }
10253    void code341(BURS_TreeNode p) {
10254        RegisterOperand hval = (RegisterOperand)Store.getValue(P(p)); 
10255    hval.setType(TypeReference.Int); 
10256    RegisterOperand lval = new RegisterOperand(regpool.getSecondReg(hval.getRegister()), TypeReference.Int); 
10257    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, MO_S(P(p), DW, DW).copy(), hval))); 
10258    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), DW), lval));
10259    }
10260    void code342(BURS_TreeNode p) {
10261        LongConstantOperand val = LC(Store.getValue(P(p))); 
10262    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, MO_S(P(p), DW, DW).copy(), IC(val.upper32())))); 
10263    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), DW), IC(val.lower32())));
10264    }
10265    void code343(BURS_TreeNode p) {
10266        RegisterOperand hval = (RegisterOperand)AStore.getValue(P(p)); 
10267    hval.setType(TypeReference.Int); 
10268    RegisterOperand lval = new RegisterOperand(regpool.getSecondReg(hval.getRegister()), TypeReference.Int); 
10269    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, MO_AS(P(p), QW_S, DW, DW).copy(), hval))); 
10270    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), QW_S, DW), lval));
10271    }
10272    void code344(BURS_TreeNode p) {
10273        LongConstantOperand val = LC(AStore.getValue(P(p))); 
10274    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, MO_AS(P(p), QW_S, DW, DW).copy(), IC(val.upper32())))); 
10275    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), QW_S, DW), IC(val.lower32())));
10276    }
10277    void code345(BURS_TreeNode p) {
10278        IFCMP(P(p), IfCmp.getGuardResult(P(p)), IfCmp.getVal1(P(p)), IfCmp.getVal2(P(p)), IfCmp.getCond(P(p)));
10279    }
10280    void code346(BURS_TreeNode p) {
10281        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10282    EMIT(CPOS(P(p), MIR_Test.create(IA32_TEST, IfCmp.getVal1(P(p)), IfCmp.getVal1(P(p)).copy()))); 
10283    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(IfCmp.getCond(P(p))), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10284    }
10285    void code347(BURS_TreeNode p) {
10286        IFCMP(P(p), IfCmp.getGuardResult(P(p)), consumeMO(), IfCmp.getVal2(P(p)), IfCmp.getCond(P(p)));
10287    }
10288    void code348(BURS_TreeNode p) {
10289        IFCMP(P(p), IfCmp.getGuardResult(P(p)), consumeMO(), IfCmp.getVal2(P(p)), IfCmp.getCond(P(p)));
10290    }
10291    void code349(BURS_TreeNode p) {
10292        IFCMP(P(p), IfCmp.getGuardResult(P(p)), IfCmp.getVal1(P(p)), consumeMO(), IfCmp.getCond(P(p)));
10293    }
10294    void code350(BURS_TreeNode p) {
10295        IFCMP(P(p), IfCmp.getGuardResult(P(p)), consumeMO(), IfCmp.getVal2(P(p)), IfCmp.getCond(P(p)));
10296    }
10297    void code351(BURS_TreeNode p) {
10298        IFCMP(P(p), IfCmp.getGuardResult(P(p)), consumeMO(), IfCmp.getVal2(P(p)), IfCmp.getCond(P(p)));
10299    }
10300    void code352(BURS_TreeNode p) {
10301        IFCMP(P(p), IfCmp.getGuardResult(P(p)), IfCmp.getVal1(P(p)), consumeMO(), IfCmp.getCond(P(p)));
10302    }
10303    void code353(BURS_TreeNode p) {
10304        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10305    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(consumeCOND()), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10306    }
10307    void code354(BURS_TreeNode p) {
10308        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10309    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(consumeCOND().flipCode()), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10310    }
10311    void code355(BURS_TreeNode p) {
10312        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10313    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(IfCmp.getCond(P(p))), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10314    }
10315    void code356(BURS_TreeNode p) {
10316        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10317    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(IfCmp.getCond(P(p))), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10318    }
10319    void code357(BURS_TreeNode p) {
10320        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10321    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(BIT_TEST(VR(p), IfCmp.getCond(P(p)))), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10322    }
10323    void code358(BURS_TreeNode p) {
10324        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp2.getGuardResult(P(p)), new TrueGuardOperand()))); 
10325    EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, IfCmp2.getVal1(P(p)), IfCmp2.getVal2(P(p))))); 
10326    EMIT(MIR_CondBranch2.mutate(P(p), IA32_JCC2,                                  
10327                                COND(IfCmp2.getCond1(P(p))), IfCmp2.getTarget1(P(p)),IfCmp2.getBranchProfile1(P(p)), 
10328                                COND(IfCmp2.getCond2(P(p))), IfCmp2.getTarget2(P(p)), IfCmp2.getBranchProfile2(P(p))));
10329    }
10330    void code359(BURS_TreeNode p) {
10331        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp2.getGuardResult(P(p)), new TrueGuardOperand()))); 
10332    EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), IfCmp2.getVal2(P(p))))); 
10333    EMIT(MIR_CondBranch2.mutate(P(p), IA32_JCC2,                                  
10334                                COND(IfCmp2.getCond1(P(p))), IfCmp2.getTarget1(P(p)),IfCmp2.getBranchProfile1(P(p)), 
10335                                COND(IfCmp2.getCond2(P(p))), IfCmp2.getTarget2(P(p)), IfCmp2.getBranchProfile2(P(p))));
10336    }
10337    void code360(BURS_TreeNode p) {
10338        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp2.getGuardResult(P(p)), new TrueGuardOperand()))); 
10339    EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), IfCmp2.getVal1(P(p))))); 
10340    EMIT(MIR_CondBranch2.mutate(P(p), IA32_JCC2,                                  
10341                                COND(IfCmp2.getCond1(P(p)).flipOperands()), IfCmp2.getTarget1(P(p)),IfCmp2.getBranchProfile1(P(p)), 
10342                                COND(IfCmp2.getCond2(P(p)).flipOperands()), IfCmp2.getTarget2(P(p)), IfCmp2.getBranchProfile2(P(p))));
10343    }
10344    void code361(BURS_TreeNode p) {
10345        EMIT(P(p)); //  Leave for ComplexLIR2MIRExpansion
10346    }
10347    void code362(BURS_TreeNode p) {
10348        LONG_CMP(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10349    }
10350    void code363(BURS_TreeNode p) {
10351        EMIT(MIR_Branch.mutate(P(p), IA32_JMP, Goto.getTarget(P(p))));
10352    }
10353    void code364(BURS_TreeNode p) {
10354        EMIT(MIR_CacheOp.mutate(P(p), IA32_PREFETCHNTA, R(CacheOp.getRef(P(p)))));
10355    }
10356    void code365(BURS_TreeNode p) {
10357        EMIT(P(p)); // Pass through to maintain barrier semantics for code motion
10358    }
10359    void code366(BURS_TreeNode p) {
10360        EMIT(P(p)); // Pass through to maintain barrier semantics for code motion
10361    }
10362    void code367(BURS_TreeNode p) {
10363        EMIT(MIR_Empty.mutate(P(p), IA32_PAUSE));
10364    }
10365    void code368(BURS_TreeNode p) {
10366        EMIT(MIR_Return.mutate(P(p), IA32_RET, null, null, null));
10367    }
10368    void code369(BURS_TreeNode p) {
10369        EMIT(MIR_Return.mutate(P(p), IA32_RET, null, Return.getVal(P(p)), null));
10370    }
10371    void code370(BURS_TreeNode p) {
10372        RegisterOperand ret = R(Return.getVal(P(p)));            
10373    RegisterOperand ret2 = null;                                
10374    if (ret.getType().isLongType()) {                                 
10375      ret.setType(TypeReference.Int);                           
10376      ret2 = new RegisterOperand(regpool.getSecondReg(ret.getRegister()), TypeReference.Int); 
10377    }                                                            
10378    EMIT(MIR_Return.mutate(P(p), IA32_RET, null, ret, ret2));
10379    }
10380    void code371(BURS_TreeNode p) {
10381        LongConstantOperand val = LC(Return.getVal(P(p))); 
10382    EMIT(MIR_Return.mutate(P(p), IA32_RET, null, IC(val.upper32()), IC(val.lower32())));
10383    }
10384    void code372(BURS_TreeNode p) {
10385        CALL(P(p), Call.getAddress(P(p)));
10386    }
10387    void code373(BURS_TreeNode p) {
10388        CALL(P(p), Call.getAddress(P(p)));
10389    }
10390    void code374(BURS_TreeNode p) {
10391        CALL(P(p), MO_L(PL(p), DW));
10392    }
10393    void code375(BURS_TreeNode p) {
10394        RegisterOperand temp = regpool.makeTemp(TypeReference.Int); 
10395    EMIT(MIR_Move.create(IA32_MOV, temp, Call.getAddress(P(p)))); 
10396    CALL(P(p), temp.copyRO());
10397    }
10398    void code376(BURS_TreeNode p) {
10399        SYSCALL(P(p), Call.getAddress(P(p)));
10400    }
10401    void code377(BURS_TreeNode p) {
10402        SYSCALL(P(p), MO_L(PL(p), DW));
10403    }
10404    void code378(BURS_TreeNode p) {
10405        RegisterOperand temp = regpool.makeTemp(TypeReference.Int); 
10406    EMIT(MIR_Move.create(IA32_MOV, temp, Call.getAddress(P(p)))); 
10407    SYSCALL(P(p), temp.copyRO());
10408    }
10409    void code379(BURS_TreeNode p) {
10410        GET_TIME_BASE(P(p), Nullary.getResult(P(p)));
10411    }
10412    void code380(BURS_TreeNode p) {
10413        OSR(burs, P(p));
10414    }
10415    void code381(BURS_TreeNode p) {
10416        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal1(PL(p)).copy(), Binary.getVal1(PLR(p)).copy()));
10417    }
10418    void code382(BURS_TreeNode p) {
10419        Register tmp = regpool.getInteger(); 
10420    if (VM.VerifyAssertions) VM._assert((VLRR(p) & 0x7FFFFFFF) <= 31); 
10421    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), Binary.getVal1(PLR(p))))); 
10422    EMIT(CPOS(P(p), MIR_BinaryAcc.create(IA32_AND, new RegisterOperand(tmp, TypeReference.Int), IC(VLRR(p))))); 
10423    EMIT(MIR_Test.mutate(P(p), IA32_BT, consumeMO(), new RegisterOperand(tmp, TypeReference.Int)));
10424    }
10425    void code383(BURS_TreeNode p) {
10426        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal1(PL(p)).copy(), IC(VLR(p))));
10427    }
10428    void code384(BURS_TreeNode p) {
10429        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal1(PL(p)).copy(), Binary.getVal1(PLR(p)).copy()));
10430    }
10431    void code385(BURS_TreeNode p) {
10432        Register tmp = regpool.getInteger(); 
10433    if (VM.VerifyAssertions) VM._assert((VLRR(p) & 0x7FFFFFFF) <= 31); 
10434    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), Binary.getVal1(PLR(p))))); 
10435    EMIT(CPOS(P(p), MIR_BinaryAcc.create(IA32_AND, new RegisterOperand(tmp, TypeReference.Int), IC(VLRR(p))))); 
10436    EMIT(MIR_Test.mutate(P(p), IA32_BT, consumeMO(), new RegisterOperand(tmp, TypeReference.Int)));
10437    }
10438    void code386(BURS_TreeNode p) {
10439        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal1(PL(p)).copy(), IC(VLR(p))));
10440    }
10441    void code387(BURS_TreeNode p) {
10442        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal2(P(p)), Binary.getVal1(PLR(p)).copy()));
10443    }
10444    void code388(BURS_TreeNode p) {
10445        Register tmp = regpool.getInteger(); 
10446    if (VM.VerifyAssertions) VM._assert((VLRR(p) & 0x7FFFFFFF) <= 31); 
10447    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), Binary.getVal1(PLR(p))))); 
10448    EMIT(CPOS(P(p), MIR_BinaryAcc.create(IA32_AND, new RegisterOperand(tmp, TypeReference.Int), IC(VLRR(p))))); 
10449    EMIT(MIR_Test.mutate(P(p), IA32_BT, consumeMO(), new RegisterOperand(tmp, TypeReference.Int)));
10450    }
10451    void code389(BURS_TreeNode p) {
10452        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal1(P(p)), Binary.getVal1(PRR(p)).copy()));
10453    }
10454    void code390(BURS_TreeNode p) {
10455        Register tmp = regpool.getInteger(); 
10456    if (VM.VerifyAssertions) VM._assert((VRRR(p) & 0x7FFFFFFF) <= 31); 
10457    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), Binary.getVal1(PRR(p))))); 
10458    EMIT(CPOS(P(p), MIR_BinaryAcc.create(IA32_AND, new RegisterOperand(tmp, TypeReference.Int), IC(VRRR(p))))); 
10459    EMIT(MIR_Test.mutate(P(p), IA32_BT, consumeMO(), new RegisterOperand(tmp, TypeReference.Int)));
10460    }
10461    void code391(BURS_TreeNode p) {
10462        SSE2_COP(IA32_ADDSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10463    }
10464    void code392(BURS_TreeNode p) {
10465        SSE2_COP(IA32_ADDSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10466    }
10467    void code393(BURS_TreeNode p) {
10468        SSE2_COP(IA32_ADDSS, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
10469    }
10470    void code394(BURS_TreeNode p) {
10471        SSE2_COP(IA32_ADDSD, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), Binary.getVal1(P(p)));
10472    }
10473    void code395(BURS_TreeNode p) {
10474        SSE2_COP(IA32_ADDSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10475    }
10476    void code396(BURS_TreeNode p) {
10477        SSE2_COP(IA32_ADDSD, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
10478    }
10479    void code397(BURS_TreeNode p) {
10480        SSE2_NCOP(IA32_SUBSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10481    }
10482    void code398(BURS_TreeNode p) {
10483        SSE2_NCOP(IA32_SUBSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10484    }
10485    void code399(BURS_TreeNode p) {
10486        SSE2_NCOP(IA32_SUBSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10487    }
10488    void code400(BURS_TreeNode p) {
10489        SSE2_NCOP(IA32_SUBSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10490    }
10491    void code401(BURS_TreeNode p) {
10492        SSE2_COP(IA32_MULSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10493    }
10494    void code402(BURS_TreeNode p) {
10495        SSE2_COP(IA32_MULSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10496    }
10497    void code403(BURS_TreeNode p) {
10498        SSE2_COP(IA32_MULSS, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
10499    }
10500    void code404(BURS_TreeNode p) {
10501        SSE2_COP(IA32_MULSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10502    }
10503    void code405(BURS_TreeNode p) {
10504        SSE2_COP(IA32_MULSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10505    }
10506    void code406(BURS_TreeNode p) {
10507        SSE2_COP(IA32_MULSD, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
10508    }
10509    void code407(BURS_TreeNode p) {
10510        SSE2_NCOP(IA32_DIVSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10511    }
10512    void code408(BURS_TreeNode p) {
10513        SSE2_NCOP(IA32_DIVSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10514    }
10515    void code409(BURS_TreeNode p) {
10516        SSE2_NCOP(IA32_DIVSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10517    }
10518    void code410(BURS_TreeNode p) {
10519        SSE2_NCOP(IA32_DIVSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10520    }
10521    void code411(BURS_TreeNode p) {
10522        SSE2_NEG(true, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10523    }
10524    void code412(BURS_TreeNode p) {
10525        SSE2_NEG(false, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10526    }
10527    void code413(BURS_TreeNode p) {
10528        EMIT(MIR_Unary.mutate(P(p), IA32_SQRTSS, Unary.getResult(P(p)), Unary.getVal(P(p))));
10529    }
10530    void code414(BURS_TreeNode p) {
10531        EMIT(MIR_Unary.mutate(P(p), IA32_SQRTSD, Unary.getResult(P(p)), Unary.getVal(P(p))));
10532    }
10533    void code415(BURS_TreeNode p) {
10534        SSE2_X87_REM(P(p));
10535    }
10536    void code416(BURS_TreeNode p) {
10537        SSE2_X87_REM(P(p));
10538    }
10539    void code417(BURS_TreeNode p) {
10540        SSE2_X87_FROMLONG(P(p));
10541    }
10542    void code418(BURS_TreeNode p) {
10543        SSE2_X87_FROMLONG(P(p));
10544    }
10545    void code419(BURS_TreeNode p) {
10546        EMIT(MIR_Move.mutate(P(p), IA32_MOVSS, Move.getResult(P(p)), Move.getVal(P(p))));
10547    }
10548    void code420(BURS_TreeNode p) {
10549        EMIT(MIR_Move.mutate(P(p), IA32_MOVSD, Move.getResult(P(p)), Move.getVal(P(p))));
10550    }
10551    void code421(BURS_TreeNode p) {
10552        EMIT(MIR_Move.mutate(P(p), IA32_MOVLPD, Load.getResult(P(p)), MO_L(P(p), QW)));
10553    }
10554    void code422(BURS_TreeNode p) {
10555        pushMO(MO_L(P(p), QW));
10556    }
10557    void code423(BURS_TreeNode p) {
10558        EMIT(MIR_Move.mutate(P(p), IA32_MOVLPD, ALoad.getResult(P(p)), MO_AL(P(p), QW_S, QW)));
10559    }
10560    void code424(BURS_TreeNode p) {
10561        pushMO(MO_AL(P(p), QW_S, QW));
10562    }
10563    void code425(BURS_TreeNode p) {
10564        EMIT(MIR_Move.mutate(P(p), IA32_MOVSS, Load.getResult(P(p)), MO_L(P(p), DW)));
10565    }
10566    void code426(BURS_TreeNode p) {
10567        pushMO(MO_L(P(p), DW));
10568    }
10569    void code427(BURS_TreeNode p) {
10570        EMIT(MIR_Move.mutate(P(p), IA32_MOVSS, ALoad.getResult(P(p)), MO_AL(P(p), DW_S, DW)));
10571    }
10572    void code428(BURS_TreeNode p) {
10573        pushMO(MO_AL(P(p), DW_S, DW));
10574    }
10575    void code429(BURS_TreeNode p) {
10576        EMIT(MIR_Move.mutate(P(p), IA32_MOVLPD, MO_S(P(p), QW), Store.getValue(P(p))));
10577    }
10578    void code430(BURS_TreeNode p) {
10579        EMIT(MIR_Move.mutate(P(p), IA32_MOVLPD, MO_AS(P(p), QW_S, QW), AStore.getValue(P(p))));
10580    }
10581    void code431(BURS_TreeNode p) {
10582        EMIT(MIR_Move.mutate(P(p), IA32_MOVSS, MO_S(P(p), DW), Store.getValue(P(p))));
10583    }
10584    void code432(BURS_TreeNode p) {
10585        EMIT(MIR_Move.mutate(P(p), IA32_MOVSS, MO_AS(P(p), DW_S, DW), AStore.getValue(P(p))));
10586    }
10587    void code433(BURS_TreeNode p) {
10588        SSE2_CONV(IA32_CVTSI2SS, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10589    }
10590    void code434(BURS_TreeNode p) {
10591        SSE2_CONV(IA32_CVTSI2SS, P(p), Unary.getResult(P(p)), consumeMO());
10592    }
10593    void code435(BURS_TreeNode p) {
10594        SSE2_CONV(IA32_CVTSI2SD, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10595    }
10596    void code436(BURS_TreeNode p) {
10597        SSE2_CONV(IA32_CVTSI2SD, P(p), Unary.getResult(P(p)), consumeMO());
10598    }
10599    void code437(BURS_TreeNode p) {
10600        SSE2_CONV(IA32_CVTSS2SD, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10601    }
10602    void code438(BURS_TreeNode p) {
10603        SSE2_CONV(IA32_CVTSS2SD, P(p), Unary.getResult(P(p)), consumeMO());
10604    }
10605    void code439(BURS_TreeNode p) {
10606        SSE2_CONV(IA32_CVTSD2SS, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10607    }
10608    void code440(BURS_TreeNode p) {
10609        SSE2_CONV(IA32_CVTSD2SS, P(p), Unary.getResult(P(p)), consumeMO());
10610    }
10611    void code441(BURS_TreeNode p) {
10612        EMIT(P(p)); /* leave for complex operators */
10613    }
10614    void code442(BURS_TreeNode p) {
10615        EMIT(P(p)); /* leave for complex operators */
10616    }
10617    void code443(BURS_TreeNode p) {
10618        EMIT(P(p)); /* leave for complex operators */
10619    }
10620    void code444(BURS_TreeNode p) {
10621        EMIT(P(p)); /* leave for complex operators */
10622    }
10623    void code445(BURS_TreeNode p) {
10624        SSE2_FPR2GPR_32(P(p));
10625    }
10626    void code447(BURS_TreeNode p) {
10627        SSE2_FPR2GPR_64(P(p));
10628    }
10629    void code449(BURS_TreeNode p) {
10630        SSE2_GPR2FPR_32(P(p));
10631    }
10632    void code451(BURS_TreeNode p) {
10633        SSE2_GPR2FPR_64(P(p));
10634    }
10635    void code453(BURS_TreeNode p) {
10636        SSE2_FPCONSTANT(P(p));
10637    }
10638    void code454(BURS_TreeNode p) {
10639        pushMO(MO_MC(P(p)));
10640    }
10641    void code455(BURS_TreeNode p) {
10642        pushMO(MO_MC(P(p)));
10643    }
10644    void code456(BURS_TreeNode p) {
10645        EMIT(MIR_Empty.mutate(P(p), IA32_FNINIT));
10646    }
10647    void code457(BURS_TreeNode p) {
10648        SSE2_IFCMP(IA32_UCOMISS, P(p), IfCmp.getClearVal1(P(p)), IfCmp.getClearVal2(P(p)));
10649    }
10650    void code458(BURS_TreeNode p) {
10651        SSE2_IFCMP(IA32_UCOMISS, P(p), IfCmp.getClearVal1(P(p)), consumeMO());
10652    }
10653    void code459(BURS_TreeNode p) {
10654        IfCmp.getCond(P(p)).flipOperands(); SSE2_IFCMP(IA32_UCOMISS, P(p), IfCmp.getClearVal2(P(p)), consumeMO());
10655    }
10656    void code460(BURS_TreeNode p) {
10657        SSE2_IFCMP(IA32_UCOMISD, P(p), IfCmp.getClearVal1(P(p)), IfCmp.getClearVal2(P(p)));
10658    }
10659    void code461(BURS_TreeNode p) {
10660        SSE2_IFCMP(IA32_UCOMISD, P(p), IfCmp.getClearVal1(P(p)), consumeMO());
10661    }
10662    void code462(BURS_TreeNode p) {
10663        IfCmp.getCond(P(p)).flipOperands(); SSE2_IFCMP(IA32_UCOMISD, P(p), IfCmp.getClearVal2(P(p)), consumeMO());
10664    }
10665    void code463(BURS_TreeNode p) {
10666        EMIT(CPOS(P(p), MIR_Compare.create(CondMove.getVal1(P(p)).isFloat() ? IA32_UCOMISS : IA32_UCOMISD,      CondMove.getVal1(P(p)), CondMove.getVal2(P(p))))); CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)).translateUNSIGNED(),          CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
10667    }
10668    void code464(BURS_TreeNode p) {
10669        EMIT(CPOS(P(p), MIR_Compare.create(IA32_UCOMISS, CondMove.getVal1(P(p)), consumeMO()))); CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)).translateUNSIGNED(),          CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
10670    }
10671    void code465(BURS_TreeNode p) {
10672        EMIT(CPOS(P(p), MIR_Compare.create(IA32_UCOMISD, CondMove.getVal1(P(p)), consumeMO()))); CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)).translateUNSIGNED(),          CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
10673    }
10674    void code466(BURS_TreeNode p) {
10675        CondMove.getCond(P(p)).flipOperands(); EMIT(CPOS(P(p), MIR_Compare.create(IA32_UCOMISS, CondMove.getVal1(P(p)), consumeMO()))); CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)).translateUNSIGNED(),          CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
10676    }
10677    void code467(BURS_TreeNode p) {
10678        CondMove.getCond(P(p)).flipOperands(); EMIT(CPOS(P(p), MIR_Compare.create(IA32_UCOMISD, CondMove.getVal1(P(p)), consumeMO()))); CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)).translateUNSIGNED(),          CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
10679    }
10680    void code468(BURS_TreeNode p) {
10681        SSE2_FCMP_FCMOV(P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), CondMove.getVal2(P(p)),                 CondMove.getCond(P(p)), CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
10682    }
10683    void code469(BURS_TreeNode p) {
10684        SSE2_FCMP_FCMOV(P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), CondMove.getVal2(P(p)),                 CondMove.getCond(P(p)), CondMove.getTrueValue(P(p)), consumeMO());
10685    }
10686    void code470(BURS_TreeNode p) {
10687        SSE2_FCMP_FCMOV(P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), CondMove.getVal2(P(p)),                 CondMove.getCond(P(p)), CondMove.getTrueValue(P(p)), consumeMO());
10688    }
10689    void code471(BURS_TreeNode p) {
10690        SSE2_FCMP_FCMOV(P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), CondMove.getVal2(P(p)),                 CondMove.getCond(P(p)), consumeMO(), CondMove.getFalseValue(P(p)));
10691    }
10692    void code472(BURS_TreeNode p) {
10693        SSE2_FCMP_FCMOV(P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), CondMove.getVal2(P(p)),                 CondMove.getCond(P(p)), consumeMO(), CondMove.getFalseValue(P(p)));
10694    }
10695    void code473(BURS_TreeNode p) {
10696        SSE2_FCMP_FCMOV(P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), consumeMO(),                 CondMove.getCond(P(p)), CondMove.getFalseValue(P(p)), CondMove.getTrueValue(P(p)));
10697    }
10698    void code474(BURS_TreeNode p) {
10699        SSE2_FCMP_FCMOV(P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), consumeMO(),                 CondMove.getCond(P(p)), CondMove.getFalseValue(P(p)), CondMove.getTrueValue(P(p)));
10700    }
10701    void code475(BURS_TreeNode p) {
10702        SSE2_ABS(true, P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)));
10703    }
10704    void code476(BURS_TreeNode p) {
10705        SSE2_ABS(true, P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)));
10706    }
10707    void code477(BURS_TreeNode p) {
10708        SSE2_ABS(true, P(p), CondMove.getResult(P(p)), CondMove.getVal2(P(p)));
10709    }
10710    void code478(BURS_TreeNode p) {
10711        SSE2_ABS(true, P(p), CondMove.getResult(P(p)), CondMove.getVal2(P(p)));
10712    }
10713    void code479(BURS_TreeNode p) {
10714        SSE2_ABS(false, P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)));
10715    }
10716    void code480(BURS_TreeNode p) {
10717        SSE2_ABS(false, P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)));
10718    }
10719    void code481(BURS_TreeNode p) {
10720        SSE2_ABS(false, P(p), CondMove.getResult(P(p)), CondMove.getVal2(P(p)));
10721    }
10722    void code482(BURS_TreeNode p) {
10723        SSE2_ABS(false, P(p), CondMove.getResult(P(p)), CondMove.getVal2(P(p)));
10724    }
10725    void code483(BURS_TreeNode p) {
10726        RegisterOperand temp = regpool.makeTemp(TypeReference.Double); EMIT(MIR_Move.mutate(PL(p), IA32_MOVQ, temp, consumeMO())); EMIT(MIR_Move.mutate(P(p), IA32_MOVQ, MO_AS(P(p), QW_S, QW), temp.copyRO()));
10727    }
10728    void code484(BURS_TreeNode p) {
10729        RegisterOperand temp = regpool.makeTemp(TypeReference.Double); EMIT(MIR_Move.mutate(PL(p), IA32_MOVQ, temp, consumeMO())); EMIT(MIR_Move.mutate(P(p), IA32_MOVQ, MO_S(P(p), QW), temp.copyRO()));
10730    }
10731    
10732    public void code(BURS_TreeNode p, int  n, int ruleno) {
10733      switch(ruleno) {
10734      case 16: code16(p); break;
10735      case 17: code17(p); break;
10736      case 18: code18(p); break;
10737      case 19: code19(p); break;
10738      case 22: code22(p); break;
10739      case 23: code23(p); break;
10740      case 24: code24(p); break;
10741      case 25: code25(p); break;
10742      case 28: code28(p); break;
10743      case 29: code29(p); break;
10744      case 34: code34(p); break;
10745      case 35: code35(p); break;
10746      case 38: code38(p); break;
10747      case 39: code39(p); break;
10748      case 40: code40(p); break;
10749      case 41: code41(p); break;
10750      case 42: code42(p); break;
10751      case 43: code43(p); break;
10752      case 44: code44(p); break;
10753      case 45: code45(p); break;
10754      case 46: code46(p); break;
10755      case 47: code47(p); break;
10756      case 48: code48(p); break;
10757      case 49: code49(p); break;
10758      case 50: code50(p); break;
10759      case 51: code51(p); break;
10760      case 52: code52(p); break;
10761      case 53: code53(p); break;
10762      case 54: code54(p); break;
10763      case 55: code55(p); break;
10764      case 56: code56(p); break;
10765      case 57: code57(p); break;
10766      case 58: code58(p); break;
10767      case 59: code59(p); break;
10768      case 60: code60(p); break;
10769      case 61: code61(p); break;
10770      case 62: code62(p); break;
10771      case 64: code64(p); break;
10772      case 65: code65(p); break;
10773      case 66: code66(p); break;
10774      case 67: code67(p); break;
10775      case 68: code68(p); break;
10776      case 69: code69(p); break;
10777      case 70: code70(p); break;
10778      case 71: code71(p); break;
10779      case 72: code72(p); break;
10780      case 73: code73(p); break;
10781      case 74: code74(p); break;
10782      case 75: code75(p); break;
10783      case 76: code76(p); break;
10784      case 77: code77(p); break;
10785      case 78: code78(p); break;
10786      case 79: code79(p); break;
10787      case 80: code80(p); break;
10788      case 81: code81(p); break;
10789      case 82: code82(p); break;
10790      case 83: code83(p); break;
10791      case 84: code84(p); break;
10792      case 85: code85(p); break;
10793      case 86: code86(p); break;
10794      case 87: code87(p); break;
10795      case 88: code88(p); break;
10796      case 89: code89(p); break;
10797      case 90: code90(p); break;
10798      case 91: code91(p); break;
10799      case 92: code92(p); break;
10800      case 93: code93(p); break;
10801      case 95: code95(p); break;
10802      case 96: code96(p); break;
10803      case 97: code97(p); break;
10804      case 98: code98(p); break;
10805      case 99: code99(p); break;
10806      case 100: code100(p); break;
10807      case 101: code101(p); break;
10808      case 102: code102(p); break;
10809      case 103: code103(p); break;
10810      case 104: code104(p); break;
10811      case 105: code105(p); break;
10812      case 106: code106(p); break;
10813      case 107: code107(p); break;
10814      case 108: code108(p); break;
10815      case 109: code109(p); break;
10816      case 110: code110(p); break;
10817      case 111: code111(p); break;
10818      case 112: code112(p); break;
10819      case 113: code113(p); break;
10820      case 114: code114(p); break;
10821      case 115: code115(p); break;
10822      case 116: code116(p); break;
10823      case 117: code117(p); break;
10824      case 118: code118(p); break;
10825      case 119: code119(p); break;
10826      case 120: code120(p); break;
10827      case 121: code121(p); break;
10828      case 122: code122(p); break;
10829      case 123: code123(p); break;
10830      case 124: code124(p); break;
10831      case 125: code125(p); break;
10832      case 126: code126(p); break;
10833      case 127: code127(p); break;
10834      case 128: code128(p); break;
10835      case 129: code129(p); break;
10836      case 130: code130(p); break;
10837      case 131: code131(p); break;
10838      case 132: code132(p); break;
10839      case 133: code133(p); break;
10840      case 134: code134(p); break;
10841      case 135: code135(p); break;
10842      case 136: code136(p); break;
10843      case 137: code137(p); break;
10844      case 138: code138(p); break;
10845      case 139: code139(p); break;
10846      case 140: code140(p); break;
10847      case 141: code141(p); break;
10848      case 142: code142(p); break;
10849      case 143: code143(p); break;
10850      case 144: code144(p); break;
10851      case 145: code145(p); break;
10852      case 146: code146(p); break;
10853      case 147: code147(p); break;
10854      case 148: code148(p); break;
10855      case 149: code149(p); break;
10856      case 150: code150(p); break;
10857      case 151: code151(p); break;
10858      case 152: code152(p); break;
10859      case 153: code153(p); break;
10860      case 154: code154(p); break;
10861      case 155: code155(p); break;
10862      case 156: code156(p); break;
10863      case 157: code157(p); break;
10864      case 158: code158(p); break;
10865      case 159: code159(p); break;
10866      case 160: code160(p); break;
10867      case 161: code161(p); break;
10868      case 162: code162(p); break;
10869      case 163: code163(p); break;
10870      case 164: code164(p); break;
10871      case 165: code165(p); break;
10872      case 166: code166(p); break;
10873      case 167: code167(p); break;
10874      case 168: code168(p); break;
10875      case 169: code169(p); break;
10876      case 170: code170(p); break;
10877      case 171: code171(p); break;
10878      case 172: code172(p); break;
10879      case 173: code173(p); break;
10880      case 174: code174(p); break;
10881      case 175: code175(p); break;
10882      case 176: code176(p); break;
10883      case 177: code177(p); break;
10884      case 178: code178(p); break;
10885      case 179: code179(p); break;
10886      case 180: code180(p); break;
10887      case 181: code181(p); break;
10888      case 182: code182(p); break;
10889      case 183: code183(p); break;
10890      case 184: code184(p); break;
10891      case 185: code185(p); break;
10892      case 186: code186(p); break;
10893      case 187: code187(p); break;
10894      case 188: code188(p); break;
10895      case 189: code189(p); break;
10896      case 190: code190(p); break;
10897      case 191: code191(p); break;
10898      case 192: code192(p); break;
10899      case 193: code193(p); break;
10900      case 194: code194(p); break;
10901      case 195: code195(p); break;
10902      case 196: code196(p); break;
10903      case 197: code197(p); break;
10904      case 198: code198(p); break;
10905      case 199: code199(p); break;
10906      case 200: code200(p); break;
10907      case 201: code201(p); break;
10908      case 202: code202(p); break;
10909      case 203: code203(p); break;
10910      case 204: code204(p); break;
10911      case 205: code205(p); break;
10912      case 206: code206(p); break;
10913      case 207: code207(p); break;
10914      case 208: code208(p); break;
10915      case 209: code209(p); break;
10916      case 210: code210(p); break;
10917      case 211: code211(p); break;
10918      case 212: code212(p); break;
10919      case 213: code213(p); break;
10920      case 214: code214(p); break;
10921      case 215: code215(p); break;
10922      case 216: code216(p); break;
10923      case 217: code217(p); break;
10924      case 218: code218(p); break;
10925      case 219: code219(p); break;
10926      case 220: code220(p); break;
10927      case 221: code221(p); break;
10928      case 222: code222(p); break;
10929      case 223: code223(p); break;
10930      case 224: code224(p); break;
10931      case 225: code225(p); break;
10932      case 226: code226(p); break;
10933      case 227: code227(p); break;
10934      case 228: code228(p); break;
10935      case 229: code229(p); break;
10936      case 230: code230(p); break;
10937      case 231: code231(p); break;
10938      case 232: code232(p); break;
10939      case 233: code233(p); break;
10940      case 234: code234(p); break;
10941      case 235: code235(p); break;
10942      case 236: code236(p); break;
10943      case 237: code237(p); break;
10944      case 238: code238(p); break;
10945      case 239: code239(p); break;
10946      case 240: code240(p); break;
10947      case 241: code241(p); break;
10948      case 242: code242(p); break;
10949      case 243: code243(p); break;
10950      case 244: code244(p); break;
10951      case 245: code245(p); break;
10952      case 246: code246(p); break;
10953      case 247: code247(p); break;
10954      case 248: code248(p); break;
10955      case 249: code249(p); break;
10956      case 250: code250(p); break;
10957      case 251: code251(p); break;
10958      case 252: code252(p); break;
10959      case 253: code253(p); break;
10960      case 255: code255(p); break;
10961      case 268: code268(p); break;
10962      case 269: code269(p); break;
10963      case 270: code270(p); break;
10964      case 271: code271(p); break;
10965      case 272: code272(p); break;
10966      case 273: code273(p); break;
10967      case 274: code274(p); break;
10968      case 275: code275(p); break;
10969      case 276: code276(p); break;
10970      case 277: code277(p); break;
10971      case 278: code278(p); break;
10972      case 279: code279(p); break;
10973      case 280: code280(p); break;
10974      case 281: code281(p); break;
10975      case 282: code282(p); break;
10976      case 283: code283(p); break;
10977      case 284: code284(p); break;
10978      case 285: code285(p); break;
10979      case 286: code286(p); break;
10980      case 287: code287(p); break;
10981      case 288: code288(p); break;
10982      case 289: code289(p); break;
10983      case 290: code290(p); break;
10984      case 291: code291(p); break;
10985      case 292: code292(p); break;
10986      case 293: code293(p); break;
10987      case 294: code294(p); break;
10988      case 295: code295(p); break;
10989      case 296: code296(p); break;
10990      case 297: code297(p); break;
10991      case 298: code298(p); break;
10992      case 299: code299(p); break;
10993      case 300: code300(p); break;
10994      case 301: code301(p); break;
10995      case 302: code302(p); break;
10996      case 303: code303(p); break;
10997      case 304: code304(p); break;
10998      case 305: code305(p); break;
10999      case 306: code306(p); break;
11000      case 307: code307(p); break;
11001      case 308: code308(p); break;
11002      case 309: code309(p); break;
11003      case 310: code310(p); break;
11004      case 311: code311(p); break;
11005      case 312: code312(p); break;
11006      case 313: code313(p); break;
11007      case 314: code314(p); break;
11008      case 315: code315(p); break;
11009      case 316: code316(p); break;
11010      case 317: code317(p); break;
11011      case 318: code318(p); break;
11012      case 319: code319(p); break;
11013      case 320: code320(p); break;
11014      case 321: code321(p); break;
11015      case 322: code322(p); break;
11016      case 323: code323(p); break;
11017      case 324: code324(p); break;
11018      case 325: code325(p); break;
11019      case 326: code326(p); break;
11020      case 327: code327(p); break;
11021      case 328: code328(p); break;
11022      case 329: code329(p); break;
11023      case 330: code330(p); break;
11024      case 331: code331(p); break;
11025      case 332: code332(p); break;
11026      case 333: code333(p); break;
11027      case 334: code334(p); break;
11028      case 335: code335(p); break;
11029      case 336: code336(p); break;
11030      case 337: code337(p); break;
11031      case 338: code338(p); break;
11032      case 339: code339(p); break;
11033      case 340: code340(p); break;
11034      case 341: code341(p); break;
11035      case 342: code342(p); break;
11036      case 343: code343(p); break;
11037      case 344: code344(p); break;
11038      case 345: code345(p); break;
11039      case 346: code346(p); break;
11040      case 347: code347(p); break;
11041      case 348: code348(p); break;
11042      case 349: code349(p); break;
11043      case 350: code350(p); break;
11044      case 351: code351(p); break;
11045      case 352: code352(p); break;
11046      case 353: code353(p); break;
11047      case 354: code354(p); break;
11048      case 355: code355(p); break;
11049      case 356: code356(p); break;
11050      case 357: code357(p); break;
11051      case 358: code358(p); break;
11052      case 359: code359(p); break;
11053      case 360: code360(p); break;
11054      case 361: code361(p); break;
11055      case 362: code362(p); break;
11056      case 363: code363(p); break;
11057      case 364: code364(p); break;
11058      case 365: code365(p); break;
11059      case 366: code366(p); break;
11060      case 367: code367(p); break;
11061      case 368: code368(p); break;
11062      case 369: code369(p); break;
11063      case 370: code370(p); break;
11064      case 371: code371(p); break;
11065      case 372: code372(p); break;
11066      case 373: code373(p); break;
11067      case 374: code374(p); break;
11068      case 375: code375(p); break;
11069      case 376: code376(p); break;
11070      case 377: code377(p); break;
11071      case 378: code378(p); break;
11072      case 379: code379(p); break;
11073      case 380: code380(p); break;
11074      case 381: code381(p); break;
11075      case 382: code382(p); break;
11076      case 383: code383(p); break;
11077      case 384: code384(p); break;
11078      case 385: code385(p); break;
11079      case 386: code386(p); break;
11080      case 387: code387(p); break;
11081      case 388: code388(p); break;
11082      case 389: code389(p); break;
11083      case 390: code390(p); break;
11084      case 391: code391(p); break;
11085      case 392: code392(p); break;
11086      case 393: code393(p); break;
11087      case 394: code394(p); break;
11088      case 395: code395(p); break;
11089      case 396: code396(p); break;
11090      case 397: code397(p); break;
11091      case 398: code398(p); break;
11092      case 399: code399(p); break;
11093      case 400: code400(p); break;
11094      case 401: code401(p); break;
11095      case 402: code402(p); break;
11096      case 403: code403(p); break;
11097      case 404: code404(p); break;
11098      case 405: code405(p); break;
11099      case 406: code406(p); break;
11100      case 407: code407(p); break;
11101      case 408: code408(p); break;
11102      case 409: code409(p); break;
11103      case 410: code410(p); break;
11104      case 411: code411(p); break;
11105      case 412: code412(p); break;
11106      case 413: code413(p); break;
11107      case 414: code414(p); break;
11108      case 415: code415(p); break;
11109      case 416: code416(p); break;
11110      case 417: code417(p); break;
11111      case 418: code418(p); break;
11112      case 419: code419(p); break;
11113      case 420: code420(p); break;
11114      case 421: code421(p); break;
11115      case 422: code422(p); break;
11116      case 423: code423(p); break;
11117      case 424: code424(p); break;
11118      case 425: code425(p); break;
11119      case 426: code426(p); break;
11120      case 427: code427(p); break;
11121      case 428: code428(p); break;
11122      case 429: code429(p); break;
11123      case 430: code430(p); break;
11124      case 431: code431(p); break;
11125      case 432: code432(p); break;
11126      case 433: code433(p); break;
11127      case 434: code434(p); break;
11128      case 435: code435(p); break;
11129      case 436: code436(p); break;
11130      case 437: code437(p); break;
11131      case 438: code438(p); break;
11132      case 439: code439(p); break;
11133      case 440: code440(p); break;
11134      case 441: code441(p); break;
11135      case 442: code442(p); break;
11136      case 443: code443(p); break;
11137      case 444: code444(p); break;
11138      case 445: code445(p); break;
11139      case 447: code447(p); break;
11140      case 449: code449(p); break;
11141      case 451: code451(p); break;
11142      case 453: code453(p); break;
11143      case 454: code454(p); break;
11144      case 455: code455(p); break;
11145      case 456: code456(p); break;
11146      case 457: code457(p); break;
11147      case 458: code458(p); break;
11148      case 459: code459(p); break;
11149      case 460: code460(p); break;
11150      case 461: code461(p); break;
11151      case 462: code462(p); break;
11152      case 463: code463(p); break;
11153      case 464: code464(p); break;
11154      case 465: code465(p); break;
11155      case 466: code466(p); break;
11156      case 467: code467(p); break;
11157      case 468: code468(p); break;
11158      case 469: code469(p); break;
11159      case 470: code470(p); break;
11160      case 471: code471(p); break;
11161      case 472: code472(p); break;
11162      case 473: code473(p); break;
11163      case 474: code474(p); break;
11164      case 475: code475(p); break;
11165      case 476: code476(p); break;
11166      case 477: code477(p); break;
11167      case 478: code478(p); break;
11168      case 479: code479(p); break;
11169      case 480: code480(p); break;
11170      case 481: code481(p); break;
11171      case 482: code482(p); break;
11172      case 483: code483(p); break;
11173      case 484: code484(p); break;
11174      default:
11175        throw new OptimizingCompilerException("BURS","rule without emit code:",BURS_Debug.string[ruleno]);
11176      }
11177    }
11178    }