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_1,  // 71 
322            nts_0,  // 72 
323            nts_0,  // 73 
324            nts_17, // 74 
325            nts_23, // 75 
326            nts_24, // 76 
327            nts_0,  // 77 
328            nts_25, // 78 
329            nts_25, // 79 
330            nts_26, // 80 
331            nts_26, // 81 
332            nts_0,  // 82 
333            nts_0,  // 83 
334            nts_0,  // 84 
335            nts_12, // 85 
336            nts_0,  // 86 
337            nts_12, // 87 
338            nts_27, // 88 
339            nts_27, // 89 
340            nts_28, // 90 
341            nts_28, // 91 
342            nts_29, // 92 
343            nts_29, // 93 
344            nts_30, // 94 
345            nts_30, // 95 
346            nts_30, // 96 
347            nts_30, // 97 
348            nts_23, // 98 
349            nts_23, // 99 
350            nts_31, // 100 
351            nts_24, // 101 
352            nts_32, // 102 
353            nts_32, // 103 
354            nts_33, // 104 
355            nts_33, // 105 
356            nts_34, // 106 
357            nts_35, // 107 
358            nts_0,  // 108 
359            nts_12, // 109 
360            nts_0,  // 110 
361            nts_12, // 111 
362            nts_36, // 112 
363            nts_37, // 113 
364            nts_38, // 114 
365            nts_39, // 115 
366            nts_40, // 116 
367            nts_41, // 117 
368            nts_42, // 118 
369            nts_42, // 119 
370            nts_43, // 120 
371            nts_44, // 121 
372            nts_45, // 122 
373            nts_46, // 123 
374            nts_26, // 124 
375            nts_26, // 125 
376            nts_24, // 126 
377            nts_23, // 127 
378            nts_47, // 128 
379            nts_47, // 129 
380            nts_47, // 130 
381            nts_47, // 131 
382            nts_48, // 132 
383            nts_48, // 133 
384            nts_49, // 134 
385            nts_24, // 135 
386            nts_23, // 136 
387            nts_47, // 137 
388            nts_47, // 138 
389            nts_47, // 139 
390            nts_47, // 140 
391            nts_6,  // 141 
392            nts_24, // 142 
393            nts_23, // 143 
394            nts_6,  // 144 
395            nts_24, // 145 
396            nts_6,  // 146 
397            nts_24, // 147 
398            nts_0,  // 148 
399            nts_25, // 149 
400            nts_25, // 150 
401            nts_48, // 151 
402            nts_6,  // 152 
403            nts_0,  // 153 
404            nts_0,  // 154 
405            nts_0,  // 155 
406            nts_50, // 156 
407            nts_25, // 157 
408            nts_50, // 158 
409            nts_25, // 159 
410            nts_48, // 160 
411            nts_6,  // 161 
412            nts_4,  // 162 
413            nts_50, // 163 
414            nts_25, // 164 
415            nts_50, // 165 
416            nts_25, // 166 
417            nts_48, // 167 
418            nts_6,  // 168 
419            nts_4,  // 169 
420            nts_50, // 170 
421            nts_25, // 171 
422            nts_50, // 172 
423            nts_25, // 173 
424            nts_17, // 174 
425            nts_17, // 175 
426            nts_17, // 176 
427            nts_17, // 177 
428            nts_51, // 178 
429            nts_51, // 179 
430            nts_51, // 180 
431            nts_51, // 181 
432            nts_6,  // 182 
433            nts_26, // 183 
434            nts_24, // 184 
435            nts_23, // 185 
436            nts_52, // 186 
437            nts_53, // 187 
438            nts_47, // 188 
439            nts_47, // 189 
440            nts_47, // 190 
441            nts_47, // 191 
442            nts_6,  // 192 
443            nts_24, // 193 
444            nts_23, // 194 
445            nts_47, // 195 
446            nts_47, // 196 
447            nts_47, // 197 
448            nts_47, // 198 
449            nts_6,  // 199 
450            nts_24, // 200 
451            nts_23, // 201 
452            nts_47, // 202 
453            nts_47, // 203 
454            nts_47, // 204 
455            nts_47, // 205 
456            nts_0,  // 206 
457            nts_25, // 207 
458            nts_25, // 208 
459            nts_54, // 209 
460            nts_33, // 210 
461            nts_33, // 211 
462            nts_0,  // 212 
463            nts_55, // 213 
464            nts_55, // 214 
465            nts_55, // 215 
466            nts_55, // 216 
467            nts_55, // 217 
468            nts_55, // 218 
469            nts_33, // 219 
470            nts_33, // 220 
471            nts_54, // 221 
472            nts_0,  // 222 
473            nts_0,  // 223 
474            nts_56, // 224 
475            nts_57, // 225 
476            nts_57, // 226 
477            nts_0,  // 227 
478            nts_13, // 228 
479            nts_57, // 229 
480            nts_57, // 230 
481            nts_0,  // 231 
482            nts_13, // 232 
483            nts_57, // 233 
484            nts_57, // 234 
485            nts_0,  // 235 
486            nts_12, // 236 
487            nts_0,  // 237 
488            nts_12, // 238 
489            nts_0,  // 239 
490            nts_58, // 240 
491            nts_0,  // 241 
492            nts_12, // 242 
493            nts_0,  // 243 
494            nts_57, // 244 
495            nts_57, // 245 
496            nts_58, // 246 
497            nts_0,  // 247 
498            nts_0,  // 248 
499            nts_58, // 249 
500            nts_58, // 250 
501            nts_58, // 251 
502            nts_58, // 252 
503            nts_4,  // 253 
504            nts_2,  // 254 
505            nts_27, // 255 
506            nts_3,  // 256 
507            nts_28, // 257 
508            nts_15, // 258 
509            nts_16, // 259 
510            nts_22, // 260 
511            nts_7,  // 261 
512            nts_8,  // 262 
513            nts_14, // 263 
514            nts_9,  // 264 
515            nts_10, // 265 
516            nts_11, // 266 
517            nts_12, // 267 
518            nts_58, // 268 
519            nts_0,  // 269 
520            nts_1,  // 270 
521            nts_1,  // 271 
522            nts_6,  // 272 
523            nts_6,  // 273 
524            nts_6,  // 274 
525            nts_6,  // 275 
526            nts_56, // 276 
527            nts_56, // 277 
528            nts_56, // 278 
529            nts_56, // 279 
530            nts_6,  // 280 
531            nts_6,  // 281 
532            nts_6,  // 282 
533            nts_6,  // 283 
534            nts_13, // 284 
535            nts_13, // 285 
536            nts_13, // 286 
537            nts_13, // 287 
538            nts_6,  // 288 
539            nts_59, // 289 
540            nts_60, // 290 
541            nts_20, // 291 
542            nts_21, // 292 
543            nts_22, // 293 
544            nts_6,  // 294 
545            nts_6,  // 295 
546            nts_6,  // 296 
547            nts_6,  // 297 
548            nts_18, // 298 
549            nts_19, // 299 
550            nts_20, // 300 
551            nts_21, // 301 
552            nts_22, // 302 
553            nts_22, // 303 
554            nts_6,  // 304 
555            nts_25, // 305 
556            nts_61, // 306 
557            nts_62, // 307 
558            nts_63, // 308 
559            nts_64, // 309 
560            nts_65, // 310 
561            nts_65, // 311 
562            nts_25, // 312 
563            nts_61, // 313 
564            nts_62, // 314 
565            nts_63, // 315 
566            nts_64, // 316 
567            nts_65, // 317 
568            nts_65, // 318 
569            nts_25, // 319 
570            nts_61, // 320 
571            nts_62, // 321 
572            nts_63, // 322 
573            nts_64, // 323 
574            nts_65, // 324 
575            nts_65, // 325 
576            nts_66, // 326 
577            nts_67, // 327 
578            nts_68, // 328 
579            nts_67, // 329 
580            nts_68, // 330 
581            nts_67, // 331 
582            nts_69, // 332 
583            nts_67, // 333 
584            nts_69, // 334 
585            nts_67, // 335 
586            nts_70, // 336 
587            nts_71, // 337 
588            nts_72, // 338 
589            nts_73, // 339 
590            nts_74, // 340 
591            nts_67, // 341 
592            nts_57, // 342 
593            nts_6,  // 343 
594            nts_57, // 344 
595            nts_6,  // 345 
596            nts_26, // 346 
597            nts_0,  // 347 
598            nts_14, // 348 
599            nts_75, // 349 
600            nts_76, // 350 
601            nts_9,  // 351 
602            nts_23, // 352 
603            nts_31, // 353 
604            nts_30, // 354 
605            nts_30, // 355 
606            nts_27, // 356 
607            nts_28, // 357 
608            nts_29, // 358 
609            nts_26, // 359 
610            nts_23, // 360 
611            nts_24, // 361 
612            nts_33, // 362 
613            nts_33, // 363 
614            nts_1,  // 364 
615            nts_0,  // 365 
616            nts_1,  // 366 
617            nts_1,  // 367 
618            nts_1,  // 368 
619            nts_1,  // 369 
620            nts_1,  // 370 
621            nts_1,  // 371 
622            nts_0,  // 372 
623            nts_1,  // 373 
624            nts_35, // 374 
625            nts_77, // 375 
626            nts_78, // 376 
627            nts_77, // 377 
628            nts_35, // 378 
629            nts_78, // 379 
630            nts_77, // 380 
631            nts_1,  // 381 
632            nts_5,  // 382 
633            nts_17, // 383 
634            nts_49, // 384 
635            nts_0,  // 385 
636            nts_17, // 386 
637            nts_49, // 387 
638            nts_0,  // 388 
639            nts_48, // 389 
640            nts_31, // 390 
641            nts_17, // 391 
642            nts_49, // 392 
643            nts_17, // 393 
644            nts_79, // 394 
645            nts_80, // 395 
646            nts_17, // 396 
647            nts_81, // 397 
648            nts_82, // 398 
649            nts_17, // 399 
650            nts_79, // 400 
651            nts_17, // 401 
652            nts_81, // 402 
653            nts_17, // 403 
654            nts_79, // 404 
655            nts_80, // 405 
656            nts_17, // 406 
657            nts_81, // 407 
658            nts_82, // 408 
659            nts_17, // 409 
660            nts_79, // 410 
661            nts_17, // 411 
662            nts_81, // 412 
663            nts_0,  // 413 
664            nts_0,  // 414 
665            nts_0,  // 415 
666            nts_0,  // 416 
667            nts_17, // 417 
668            nts_17, // 418 
669            nts_0,  // 419 
670            nts_0,  // 420 
671            nts_0,  // 421 
672            nts_0,  // 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_6,  // 429 
680            nts_6,  // 430 
681            nts_57, // 431 
682            nts_57, // 432 
683            nts_57, // 433 
684            nts_57, // 434 
685            nts_4,  // 435 
686            nts_12, // 436 
687            nts_4,  // 437 
688            nts_12, // 438 
689            nts_0,  // 439 
690            nts_83, // 440 
691            nts_0,  // 441 
692            nts_84, // 442 
693            nts_0,  // 443 
694            nts_0,  // 444 
695            nts_0,  // 445 
696            nts_0,  // 446 
697            nts_0,  // 447 
698            nts_83, // 448 
699            nts_0,  // 449 
700            nts_84, // 450 
701            nts_4,  // 451 
702            nts_12, // 452 
703            nts_85, // 453 
704            nts_58, // 454 
705            nts_1,  // 455 
706            nts_1,  // 456 
707            nts_1,  // 457 
708            nts_1,  // 458 
709            nts_17, // 459 
710            nts_79, // 460 
711            nts_80, // 461 
712            nts_17, // 462 
713            nts_81, // 463 
714            nts_82, // 464 
715            nts_86, // 465 
716            nts_87, // 466 
717            nts_88, // 467 
718            nts_89, // 468 
719            nts_90, // 469 
720            nts_86, // 470 
721            nts_91, // 471 
722            nts_92, // 472 
723            nts_93, // 473 
724            nts_94, // 474 
725            nts_87, // 475 
726            nts_88, // 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_95, // 483 
734            nts_95, // 484 
735            nts_96, // 485 
736            nts_96, // 486 
737    };
738    
739    /*static final byte arity[] = {
740            0,      // 0=GET_CAUGHT_EXCEPTION
741            1,      // 1=SET_CAUGHT_EXCEPTION
742            -1,     // 2=NEW
743            -1,     // 3=NEW_UNRESOLVED
744            -1,     // 4=NEWARRAY
745            -1,     // 5=NEWARRAY_UNRESOLVED
746            -1,     // 6=ATHROW
747            -1,     // 7=CHECKCAST
748            -1,     // 8=CHECKCAST_NOTNULL
749            -1,     // 9=CHECKCAST_UNRESOLVED
750            -1,     // 10=MUST_IMPLEMENT_INTERFACE
751            -1,     // 11=INSTANCEOF
752            -1,     // 12=INSTANCEOF_NOTNULL
753            -1,     // 13=INSTANCEOF_UNRESOLVED
754            -1,     // 14=MONITORENTER
755            -1,     // 15=MONITOREXIT
756            -1,     // 16=NEWOBJMULTIARRAY
757            -1,     // 17=GETSTATIC
758            -1,     // 18=PUTSTATIC
759            -1,     // 19=GETFIELD
760            -1,     // 20=PUTFIELD
761            -1,     // 21=INT_ZERO_CHECK
762            -1,     // 22=LONG_ZERO_CHECK
763            -1,     // 23=BOUNDS_CHECK
764            -1,     // 24=OBJARRAY_STORE_CHECK
765            -1,     // 25=OBJARRAY_STORE_CHECK_NOTNULL
766            0,      // 26=IG_PATCH_POINT
767            -1,     // 27=IG_CLASS_TEST
768            -1,     // 28=IG_METHOD_TEST
769            -1,     // 29=TABLESWITCH
770            -1,     // 30=LOOKUPSWITCH
771            2,      // 31=INT_ALOAD
772            2,      // 32=LONG_ALOAD
773            2,      // 33=FLOAT_ALOAD
774            2,      // 34=DOUBLE_ALOAD
775            -1,     // 35=REF_ALOAD
776            2,      // 36=UBYTE_ALOAD
777            2,      // 37=BYTE_ALOAD
778            2,      // 38=USHORT_ALOAD
779            2,      // 39=SHORT_ALOAD
780            2,      // 40=INT_ASTORE
781            2,      // 41=LONG_ASTORE
782            2,      // 42=FLOAT_ASTORE
783            2,      // 43=DOUBLE_ASTORE
784            -1,     // 44=REF_ASTORE
785            2,      // 45=BYTE_ASTORE
786            2,      // 46=SHORT_ASTORE
787            2,      // 47=INT_IFCMP
788            2,      // 48=INT_IFCMP2
789            2,      // 49=LONG_IFCMP
790            2,      // 50=FLOAT_IFCMP
791            2,      // 51=DOUBLE_IFCMP
792            -1,     // 52=REF_IFCMP
793            -1,     // 53=LABEL
794            -1,     // 54=BBEND
795            0,      // 55=UNINT_BEGIN
796            0,      // 56=UNINT_END
797            0,      // 57=FENCE
798            0,      // 58=READ_CEILING
799            0,      // 59=WRITE_FLOOR
800            -1,     // 60=PHI
801            -1,     // 61=SPLIT
802            -1,     // 62=PI
803            0,      // 63=NOP
804            1,      // 64=INT_MOVE
805            1,      // 65=LONG_MOVE
806            1,      // 66=FLOAT_MOVE
807            1,      // 67=DOUBLE_MOVE
808            -1,     // 68=REF_MOVE
809            0,      // 69=GUARD_MOVE
810            -1,     // 70=INT_COND_MOVE
811            -1,     // 71=LONG_COND_MOVE
812            -1,     // 72=FLOAT_COND_MOVE
813            -1,     // 73=DOUBLE_COND_MOVE
814            -1,     // 74=REF_COND_MOVE
815            -1,     // 75=GUARD_COND_MOVE
816            0,      // 76=GUARD_COMBINE
817            -1,     // 77=REF_ADD
818            2,      // 78=INT_ADD
819            2,      // 79=LONG_ADD
820            2,      // 80=FLOAT_ADD
821            2,      // 81=DOUBLE_ADD
822            -1,     // 82=REF_SUB
823            2,      // 83=INT_SUB
824            2,      // 84=LONG_SUB
825            2,      // 85=FLOAT_SUB
826            2,      // 86=DOUBLE_SUB
827            2,      // 87=INT_MUL
828            2,      // 88=LONG_MUL
829            2,      // 89=FLOAT_MUL
830            2,      // 90=DOUBLE_MUL
831            2,      // 91=INT_DIV
832            -1,     // 92=LONG_DIV
833            2,      // 93=FLOAT_DIV
834            2,      // 94=DOUBLE_DIV
835            2,      // 95=INT_REM
836            -1,     // 96=LONG_REM
837            2,      // 97=FLOAT_REM
838            2,      // 98=DOUBLE_REM
839            -1,     // 99=REF_NEG
840            1,      // 100=INT_NEG
841            1,      // 101=LONG_NEG
842            1,      // 102=FLOAT_NEG
843            1,      // 103=DOUBLE_NEG
844            1,      // 104=FLOAT_SQRT
845            1,      // 105=DOUBLE_SQRT
846            -1,     // 106=REF_SHL
847            2,      // 107=INT_SHL
848            2,      // 108=LONG_SHL
849            -1,     // 109=REF_SHR
850            2,      // 110=INT_SHR
851            2,      // 111=LONG_SHR
852            -1,     // 112=REF_USHR
853            2,      // 113=INT_USHR
854            2,      // 114=LONG_USHR
855            -1,     // 115=REF_AND
856            2,      // 116=INT_AND
857            2,      // 117=LONG_AND
858            -1,     // 118=REF_OR
859            2,      // 119=INT_OR
860            2,      // 120=LONG_OR
861            -1,     // 121=REF_XOR
862            2,      // 122=INT_XOR
863            -1,     // 123=REF_NOT
864            1,      // 124=INT_NOT
865            1,      // 125=LONG_NOT
866            2,      // 126=LONG_XOR
867            -1,     // 127=INT_2ADDRSigExt
868            -1,     // 128=INT_2ADDRZerExt
869            -1,     // 129=LONG_2ADDR
870            -1,     // 130=ADDR_2INT
871            1,      // 131=ADDR_2LONG
872            1,      // 132=INT_2LONG
873            1,      // 133=INT_2FLOAT
874            1,      // 134=INT_2DOUBLE
875            1,      // 135=LONG_2INT
876            1,      // 136=LONG_2FLOAT
877            1,      // 137=LONG_2DOUBLE
878            1,      // 138=FLOAT_2INT
879            1,      // 139=FLOAT_2LONG
880            1,      // 140=FLOAT_2DOUBLE
881            1,      // 141=DOUBLE_2INT
882            1,      // 142=DOUBLE_2LONG
883            1,      // 143=DOUBLE_2FLOAT
884            1,      // 144=INT_2BYTE
885            1,      // 145=INT_2USHORT
886            1,      // 146=INT_2SHORT
887            2,      // 147=LONG_CMP
888            -1,     // 148=FLOAT_CMPL
889            -1,     // 149=FLOAT_CMPG
890            -1,     // 150=DOUBLE_CMPL
891            -1,     // 151=DOUBLE_CMPG
892            1,      // 152=RETURN
893            1,      // 153=NULL_CHECK
894            0,      // 154=GOTO
895            1,      // 155=BOOLEAN_NOT
896            2,      // 156=BOOLEAN_CMP_INT
897            -1,     // 157=BOOLEAN_CMP_ADDR
898            2,      // 158=BOOLEAN_CMP_LONG
899            -1,     // 159=BOOLEAN_CMP_FLOAT
900            -1,     // 160=BOOLEAN_CMP_DOUBLE
901            2,      // 161=BYTE_LOAD
902            2,      // 162=UBYTE_LOAD
903            2,      // 163=SHORT_LOAD
904            2,      // 164=USHORT_LOAD
905            -1,     // 165=REF_LOAD
906            -1,     // 166=REF_STORE
907            2,      // 167=INT_LOAD
908            2,      // 168=LONG_LOAD
909            2,      // 169=FLOAT_LOAD
910            2,      // 170=DOUBLE_LOAD
911            2,      // 171=BYTE_STORE
912            2,      // 172=SHORT_STORE
913            2,      // 173=INT_STORE
914            2,      // 174=LONG_STORE
915            2,      // 175=FLOAT_STORE
916            2,      // 176=DOUBLE_STORE
917            2,      // 177=PREPARE_INT
918            -1,     // 178=PREPARE_ADDR
919            2,      // 179=PREPARE_LONG
920            2,      // 180=ATTEMPT_INT
921            -1,     // 181=ATTEMPT_ADDR
922            2,      // 182=ATTEMPT_LONG
923            2,      // 183=CALL
924            2,      // 184=SYSCALL
925            0,      // 185=YIELDPOINT_PROLOGUE
926            0,      // 186=YIELDPOINT_EPILOGUE
927            0,      // 187=YIELDPOINT_BACKEDGE
928            2,      // 188=YIELDPOINT_OSR
929            -1,     // 189=OSR_BARRIER
930            0,      // 190=IR_PROLOGUE
931            0,      // 191=RESOLVE
932            -1,     // 192=RESOLVE_MEMBER
933            0,      // 193=GET_TIME_BASE
934            -1,     // 194=INSTRUMENTED_EVENT_COUNTER
935            2,      // 195=TRAP_IF
936            0,      // 196=TRAP
937            1,      // 197=FLOAT_AS_INT_BITS
938            1,      // 198=INT_BITS_AS_FLOAT
939            1,      // 199=DOUBLE_AS_LONG_BITS
940            1,      // 200=LONG_BITS_AS_DOUBLE
941            -1,     // 201=ARRAYLENGTH
942            -1,     // 202=GET_OBJ_TIB
943            -1,     // 203=GET_CLASS_TIB
944            -1,     // 204=GET_TYPE_FROM_TIB
945            -1,     // 205=GET_SUPERCLASS_IDS_FROM_TIB
946            -1,     // 206=GET_DOES_IMPLEMENT_FROM_TIB
947            -1,     // 207=GET_ARRAY_ELEMENT_TIB_FROM_TIB
948            1,      // 208=LOWTABLESWITCH
949            0,      // 209=ADDRESS_CONSTANT
950            0,      // 210=INT_CONSTANT
951            0,      // 211=LONG_CONSTANT
952            0,      // 212=REGISTER
953            2,      // 213=OTHER_OPERAND
954            0,      // 214=NULL
955            0,      // 215=BRANCH_TARGET
956            1,      // 216=MATERIALIZE_FP_CONSTANT
957            0,      // 217=GET_CURRENT_PROCESSOR
958            -1,     // 218=ROUND_TO_ZERO
959            0,      // 219=CLEAR_FLOATING_POINT_STATE
960            1,      // 220=PREFETCH
961            0,      // 221=PAUSE
962            -1,     // 222=FP_ADD
963            -1,     // 223=FP_SUB
964            -1,     // 224=FP_MUL
965            -1,     // 225=FP_DIV
966            -1,     // 226=FP_NEG
967            -1,     // 227=FP_REM
968            -1,     // 228=INT_2FP
969            -1,     // 229=LONG_2FP
970            2,      // 230=CMP_CMOV
971            2,      // 231=FCMP_CMOV
972            2,      // 232=LCMP_CMOV
973            -1,     // 233=CMP_FCMOV
974            2,      // 234=FCMP_FCMOV
975            -1,     // 235=CALL_SAVE_VOLATILE
976            -1,     // 236=MIR_START
977            -1,     // 237=REQUIRE_ESP
978            -1,     // 238=ADVISE_ESP
979            -1,     // 239=MIR_LOWTABLESWITCH
980            -1,     // 240=IA32_METHODSTART
981            -1,     // 241=IA32_FCLEAR
982            -1,     // 242=DUMMY_DEF
983            -1,     // 243=DUMMY_USE
984            -1,     // 244=IA32_FMOV_ENDING_LIVE_RANGE
985            -1,     // 245=IA32_FMOV
986            -1,     // 246=IA32_TRAPIF
987            -1,     // 247=IA32_OFFSET
988            -1,     // 248=IA32_LOCK_CMPXCHG
989            -1,     // 249=IA32_LOCK_CMPXCHG8B
990            -1,     // 250=IA32_ADC
991            -1,     // 251=IA32_ADD
992            -1,     // 252=IA32_AND
993            -1,     // 253=IA32_BSWAP
994            -1,     // 254=IA32_BT
995            -1,     // 255=IA32_BTC
996            -1,     // 256=IA32_BTR
997            -1,     // 257=IA32_BTS
998            -1,     // 258=IA32_SYSCALL
999            -1,     // 259=IA32_CALL
1000            -1,     // 260=IA32_CDQ
1001            -1,     // 261=IA32_CDO
1002            -1,     // 262=IA32_CDQE
1003            -1,     // 263=IA32_CMOV
1004            -1,     // 264=IA32_CMP
1005            -1,     // 265=IA32_CMPXCHG
1006            -1,     // 266=IA32_CMPXCHG8B
1007            -1,     // 267=IA32_DEC
1008            -1,     // 268=IA32_DIV
1009            -1,     // 269=IA32_FADD
1010            -1,     // 270=IA32_FADDP
1011            -1,     // 271=IA32_FCHS
1012            -1,     // 272=IA32_FCMOV
1013            -1,     // 273=IA32_FCOMI
1014            -1,     // 274=IA32_FCOMIP
1015            -1,     // 275=IA32_FDIV
1016            -1,     // 276=IA32_FDIVP
1017            -1,     // 277=IA32_FDIVR
1018            -1,     // 278=IA32_FDIVRP
1019            -1,     // 279=IA32_FEXAM
1020            -1,     // 280=IA32_FXCH
1021            -1,     // 281=IA32_FFREE
1022            -1,     // 282=IA32_FIADD
1023            -1,     // 283=IA32_FIDIV
1024            -1,     // 284=IA32_FIDIVR
1025            -1,     // 285=IA32_FILD
1026            -1,     // 286=IA32_FIMUL
1027            -1,     // 287=IA32_FINIT
1028            -1,     // 288=IA32_FIST
1029            -1,     // 289=IA32_FISTP
1030            -1,     // 290=IA32_FISUB
1031            -1,     // 291=IA32_FISUBR
1032            -1,     // 292=IA32_FLD
1033            -1,     // 293=IA32_FLDCW
1034            -1,     // 294=IA32_FLD1
1035            -1,     // 295=IA32_FLDL2T
1036            -1,     // 296=IA32_FLDL2E
1037            -1,     // 297=IA32_FLDPI
1038            -1,     // 298=IA32_FLDLG2
1039            -1,     // 299=IA32_FLDLN2
1040            -1,     // 300=IA32_FLDZ
1041            -1,     // 301=IA32_FMUL
1042            -1,     // 302=IA32_FMULP
1043            -1,     // 303=IA32_FNSTCW
1044            -1,     // 304=IA32_FNINIT
1045            -1,     // 305=IA32_FNSAVE
1046            -1,     // 306=IA32_FPREM
1047            -1,     // 307=IA32_FRSTOR
1048            -1,     // 308=IA32_FST
1049            -1,     // 309=IA32_FSTCW
1050            -1,     // 310=IA32_FSTP
1051            -1,     // 311=IA32_FSUB
1052            -1,     // 312=IA32_FSUBP
1053            -1,     // 313=IA32_FSUBR
1054            -1,     // 314=IA32_FSUBRP
1055            -1,     // 315=IA32_FUCOMI
1056            -1,     // 316=IA32_FUCOMIP
1057            -1,     // 317=IA32_IDIV
1058            -1,     // 318=IA32_IMUL1
1059            -1,     // 319=IA32_IMUL2
1060            -1,     // 320=IA32_INC
1061            -1,     // 321=IA32_INT
1062            -1,     // 322=IA32_JCC
1063            -1,     // 323=IA32_JCC2
1064            -1,     // 324=IA32_JMP
1065            -1,     // 325=IA32_LEA
1066            -1,     // 326=IA32_LOCK
1067            -1,     // 327=IA32_MOV
1068            -1,     // 328=IA32_MOVZX__B
1069            -1,     // 329=IA32_MOVSX__B
1070            -1,     // 330=IA32_MOVZX__W
1071            -1,     // 331=IA32_MOVSX__W
1072            -1,     // 332=IA32_MOVZXQ__B
1073            -1,     // 333=IA32_MOVSXQ__B
1074            -1,     // 334=IA32_MOVZXQ__W
1075            -1,     // 335=IA32_MOVSXQ__W
1076            -1,     // 336=IA32_MUL
1077            -1,     // 337=IA32_NEG
1078            -1,     // 338=IA32_NOT
1079            -1,     // 339=IA32_OR
1080            -1,     // 340=IA32_MFENCE
1081            -1,     // 341=IA32_PAUSE
1082            -1,     // 342=IA32_PREFETCHNTA
1083            -1,     // 343=IA32_POP
1084            -1,     // 344=IA32_PUSH
1085            -1,     // 345=IA32_RCL
1086            -1,     // 346=IA32_RCR
1087            -1,     // 347=IA32_ROL
1088            -1,     // 348=IA32_ROR
1089            -1,     // 349=IA32_RET
1090            -1,     // 350=IA32_SAL
1091            -1,     // 351=IA32_SAR
1092            -1,     // 352=IA32_SHL
1093            -1,     // 353=IA32_SHR
1094            -1,     // 354=IA32_SBB
1095            -1,     // 355=IA32_SET__B
1096            -1,     // 356=IA32_SHLD
1097            -1,     // 357=IA32_SHRD
1098            -1,     // 358=IA32_SUB
1099            -1,     // 359=IA32_TEST
1100            -1,     // 360=IA32_XOR
1101            -1,     // 361=IA32_RDTSC
1102            -1,     // 362=IA32_ADDSS
1103            -1,     // 363=IA32_SUBSS
1104            -1,     // 364=IA32_MULSS
1105            -1,     // 365=IA32_DIVSS
1106            -1,     // 366=IA32_ADDSD
1107            -1,     // 367=IA32_SUBSD
1108            -1,     // 368=IA32_MULSD
1109            -1,     // 369=IA32_DIVSD
1110            -1,     // 370=IA32_ANDPS
1111            -1,     // 371=IA32_ANDPD
1112            -1,     // 372=IA32_ANDNPS
1113            -1,     // 373=IA32_ANDNPD
1114            -1,     // 374=IA32_ORPS
1115            -1,     // 375=IA32_ORPD
1116            -1,     // 376=IA32_XORPS
1117            -1,     // 377=IA32_XORPD
1118            -1,     // 378=IA32_UCOMISS
1119            -1,     // 379=IA32_UCOMISD
1120            -1,     // 380=IA32_CMPEQSS
1121            -1,     // 381=IA32_CMPLTSS
1122            -1,     // 382=IA32_CMPLESS
1123            -1,     // 383=IA32_CMPUNORDSS
1124            -1,     // 384=IA32_CMPNESS
1125            -1,     // 385=IA32_CMPNLTSS
1126            -1,     // 386=IA32_CMPNLESS
1127            -1,     // 387=IA32_CMPORDSS
1128            -1,     // 388=IA32_CMPEQSD
1129            -1,     // 389=IA32_CMPLTSD
1130            -1,     // 390=IA32_CMPLESD
1131            -1,     // 391=IA32_CMPUNORDSD
1132            -1,     // 392=IA32_CMPNESD
1133            -1,     // 393=IA32_CMPNLTSD
1134            -1,     // 394=IA32_CMPNLESD
1135            -1,     // 395=IA32_CMPORDSD
1136            -1,     // 396=IA32_MOVLPD
1137            -1,     // 397=IA32_MOVLPS
1138            -1,     // 398=IA32_MOVSS
1139            -1,     // 399=IA32_MOVSD
1140            -1,     // 400=IA32_MOVD
1141            -1,     // 401=IA32_MOVQ
1142            -1,     // 402=IA32_PSLLQ
1143            -1,     // 403=IA32_PSRLQ
1144            -1,     // 404=IA32_SQRTSS
1145            -1,     // 405=IA32_SQRTSD
1146            -1,     // 406=IA32_CVTSI2SS
1147            -1,     // 407=IA32_CVTSS2SD
1148            -1,     // 408=IA32_CVTSS2SI
1149            -1,     // 409=IA32_CVTTSS2SI
1150            -1,     // 410=IA32_CVTSI2SD
1151            -1,     // 411=IA32_CVTSD2SS
1152            -1,     // 412=IA32_CVTSD2SI
1153            -1,     // 413=IA32_CVTTSD2SI
1154            -1,     // 414=IA32_CVTSI2SDQ
1155            -1,     // 415=IA32_CVTSD2SIQ
1156            -1,     // 416=IA32_CVTTSD2SIQ
1157            -1,     // 417=MIR_END
1158    };*/
1159    
1160    static final char[][] decode = {null,
1161            {// stm_NT
1162            0,
1163            1,
1164            55,
1165            56,
1166            57,
1167            58,
1168            59,
1169            60,
1170            61,
1171            62,
1172            63,
1173            66,
1174            67,
1175            69,
1176            70,
1177            71,
1178            72,
1179            73,
1180            74,
1181            75,
1182            76,
1183            78,
1184            79,
1185            102,
1186            103,
1187            128,
1188            129,
1189            130,
1190            131,
1191            137,
1192            138,
1193            139,
1194            140,
1195            149,
1196            150,
1197            156,
1198            157,
1199            158,
1200            159,
1201            163,
1202            164,
1203            165,
1204            166,
1205            170,
1206            171,
1207            172,
1208            173,
1209            188,
1210            189,
1211            190,
1212            191,
1213            195,
1214            196,
1215            197,
1216            198,
1217            202,
1218            203,
1219            204,
1220            205,
1221            207,
1222            208,
1223            225,
1224            226,
1225            229,
1226            230,
1227            233,
1228            234,
1229            244,
1230            245,
1231            312,
1232            313,
1233            314,
1234            315,
1235            316,
1236            317,
1237            318,
1238            319,
1239            320,
1240            321,
1241            322,
1242            323,
1243            324,
1244            325,
1245            327,
1246            328,
1247            329,
1248            330,
1249            331,
1250            332,
1251            333,
1252            334,
1253            335,
1254            336,
1255            337,
1256            338,
1257            339,
1258            340,
1259            341,
1260            342,
1261            343,
1262            344,
1263            345,
1264            346,
1265            347,
1266            348,
1267            349,
1268            350,
1269            351,
1270            352,
1271            353,
1272            354,
1273            355,
1274            356,
1275            357,
1276            358,
1277            359,
1278            360,
1279            361,
1280            362,
1281            364,
1282            365,
1283            366,
1284            367,
1285            368,
1286            369,
1287            370,
1288            371,
1289            372,
1290            373,
1291            382,
1292            431,
1293            432,
1294            433,
1295            434,
1296            458,
1297            459,
1298            460,
1299            461,
1300            462,
1301            463,
1302            464,
1303            485,
1304            486,
1305    },
1306            {// r_NT
1307            0,
1308            2,
1309            3,
1310            5,
1311            49,
1312            50,
1313            51,
1314            52,
1315            53,
1316            54,
1317            64,
1318            65,
1319            68,
1320            77,
1321            80,
1322            82,
1323            84,
1324            85,
1325            86,
1326            87,
1327            88,
1328            90,
1329            92,
1330            94,
1331            96,
1332            98,
1333            100,
1334            104,
1335            106,
1336            107,
1337            108,
1338            109,
1339            110,
1340            111,
1341            112,
1342            113,
1343            114,
1344            115,
1345            116,
1346            117,
1347            118,
1348            119,
1349            120,
1350            121,
1351            122,
1352            123,
1353            125,
1354            133,
1355            134,
1356            141,
1357            142,
1358            143,
1359            144,
1360            145,
1361            146,
1362            147,
1363            154,
1364            174,
1365            175,
1366            176,
1367            177,
1368            178,
1369            179,
1370            180,
1371            181,
1372            206,
1373            209,
1374            210,
1375            211,
1376            212,
1377            213,
1378            214,
1379            215,
1380            216,
1381            217,
1382            218,
1383            219,
1384            220,
1385            221,
1386            222,
1387            223,
1388            224,
1389            228,
1390            231,
1391            232,
1392            235,
1393            236,
1394            237,
1395            238,
1396            239,
1397            240,
1398            241,
1399            242,
1400            243,
1401            246,
1402            247,
1403            248,
1404            249,
1405            250,
1406            253,
1407            269,
1408            270,
1409            271,
1410            272,
1411            273,
1412            274,
1413            275,
1414            277,
1415            278,
1416            279,
1417            280,
1418            281,
1419            282,
1420            283,
1421            284,
1422            285,
1423            286,
1424            287,
1425            288,
1426            289,
1427            290,
1428            291,
1429            292,
1430            293,
1431            294,
1432            295,
1433            296,
1434            297,
1435            298,
1436            299,
1437            300,
1438            301,
1439            302,
1440            303,
1441            304,
1442            305,
1443            306,
1444            307,
1445            308,
1446            309,
1447            310,
1448            311,
1449            326,
1450            363,
1451            374,
1452            375,
1453            376,
1454            377,
1455            378,
1456            379,
1457            380,
1458            381,
1459            393,
1460            394,
1461            395,
1462            396,
1463            397,
1464            398,
1465            399,
1466            400,
1467            401,
1468            402,
1469            403,
1470            404,
1471            405,
1472            406,
1473            407,
1474            408,
1475            409,
1476            410,
1477            411,
1478            412,
1479            413,
1480            414,
1481            415,
1482            416,
1483            417,
1484            418,
1485            419,
1486            420,
1487            421,
1488            422,
1489            423,
1490            425,
1491            427,
1492            429,
1493            435,
1494            436,
1495            437,
1496            438,
1497            439,
1498            440,
1499            441,
1500            442,
1501            443,
1502            444,
1503            445,
1504            446,
1505            447,
1506            449,
1507            451,
1508            453,
1509            455,
1510            465,
1511            466,
1512            467,
1513            468,
1514            469,
1515            470,
1516            471,
1517            472,
1518            473,
1519            474,
1520            475,
1521            476,
1522            477,
1523            478,
1524            479,
1525            480,
1526            481,
1527            482,
1528            483,
1529            484,
1530    },
1531            {// czr_NT
1532            0,
1533            124,
1534            126,
1535            127,
1536            132,
1537            135,
1538            136,
1539            254,
1540    },
1541            {// cz_NT
1542            0,
1543            4,
1544            255,
1545    },
1546            {// szpr_NT
1547            0,
1548            148,
1549            151,
1550            152,
1551            153,
1552            155,
1553            160,
1554            161,
1555            162,
1556            167,
1557            168,
1558            169,
1559            182,
1560            184,
1561            185,
1562            192,
1563            193,
1564            194,
1565            199,
1566            200,
1567            201,
1568            227,
1569            256,
1570    },
1571            {// szp_NT
1572            0,
1573            6,
1574            183,
1575            186,
1576            187,
1577            257,
1578    },
1579            {// riv_NT
1580            0,
1581            7,
1582            8,
1583    },
1584            {// rlv_NT
1585            0,
1586            9,
1587            10,
1588    },
1589            {// any_NT
1590            0,
1591            11,
1592            12,
1593            13,
1594            14,
1595            15,
1596    },
1597            {// sload8_NT
1598            0,
1599            16,
1600            17,
1601            261,
1602    },
1603            {// uload8_NT
1604            0,
1605            18,
1606            19,
1607            262,
1608            276,
1609    },
1610            {// load8_NT
1611            0,
1612            20,
1613            21,
1614            263,
1615    },
1616            {// sload16_NT
1617            0,
1618            22,
1619            23,
1620            264,
1621    },
1622            {// uload16_NT
1623            0,
1624            24,
1625            25,
1626            265,
1627    },
1628            {// load16_NT
1629            0,
1630            26,
1631            27,
1632            266,
1633    },
1634            {// load32_NT
1635            0,
1636            28,
1637            29,
1638            251,
1639            252,
1640            267,
1641            448,
1642    },
1643            {// load16_32_NT
1644            0,
1645            30,
1646            31,
1647    },
1648            {// load8_16_32_NT
1649            0,
1650            32,
1651            33,
1652    },
1653            {// load64_NT
1654            0,
1655            34,
1656            35,
1657            268,
1658            450,
1659    },
1660            {// address1scaledreg_NT
1661            0,
1662            36,
1663            38,
1664            43,
1665            259,
1666    },
1667            {// address1reg_NT
1668            0,
1669            39,
1670            40,
1671            42,
1672            258,
1673    },
1674            {// address_NT
1675            0,
1676            37,
1677            41,
1678            44,
1679            45,
1680            46,
1681            47,
1682            48,
1683            260,
1684    },
1685            {// boolcmp_NT
1686            0,
1687            81,
1688            83,
1689            89,
1690            91,
1691            93,
1692            95,
1693            97,
1694            99,
1695            101,
1696            105,
1697    },
1698            {// bittest_NT
1699            0,
1700            383,
1701            384,
1702            385,
1703            386,
1704            387,
1705            388,
1706            389,
1707            390,
1708            391,
1709            392,
1710    },
1711            {// float_load_NT
1712            0,
1713            428,
1714            430,
1715            452,
1716            456,
1717    },
1718            {// double_load_NT
1719            0,
1720            424,
1721            426,
1722            454,
1723            457,
1724    },
1725    };
1726    
1727    static void closure_r(BURS_TreeNode p, int c) {
1728            if (c < p.cost_rlv) {
1729                    p.cost_rlv = (char)(c);
1730                    p.word1 = (p.word1 & 0xFFFFFFFC) | 0x1; // p.rlv = 1
1731            }
1732            if (c < p.cost_riv) {
1733                    p.cost_riv = (char)(c);
1734                    p.word0 = (p.word0 & 0x9FFFFFFF) | 0x20000000; // p.riv = 1
1735                    closure_riv(p, c);
1736            }
1737            if (c < p.cost_stm) {
1738                    p.cost_stm = (char)(c);
1739                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x1; // p.stm = 1
1740            }
1741    }
1742    
1743    static void closure_czr(BURS_TreeNode p, int c) {
1744            if (c < p.cost_cz) {
1745                    p.cost_cz = (char)(c);
1746                    p.word0 = (p.word0 & 0xFFE7FFFF) | 0x80000; // p.cz = 1
1747            }
1748            if (c < p.cost_r) {
1749                    p.cost_r = (char)(c);
1750                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x200; // p.r = 2
1751                    closure_r(p, c);
1752            }
1753    }
1754    
1755    static void closure_szpr(BURS_TreeNode p, int c) {
1756            if (c < p.cost_szp) {
1757                    p.cost_szp = (char)(c);
1758                    p.word0 = (p.word0 & 0xE3FFFFFF) | 0x4000000; // p.szp = 1
1759            }
1760            if (c < p.cost_r) {
1761                    p.cost_r = (char)(c);
1762                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x300; // p.r = 3
1763                    closure_r(p, c);
1764            }
1765    }
1766    
1767    static void closure_riv(BURS_TreeNode p, int c) {
1768            if (c < p.cost_any) {
1769                    p.cost_any = (char)(c);
1770                    p.word1 = (p.word1 & 0xFFFFFFE3) | 0x8; // p.any = 2
1771            }
1772    }
1773    
1774    static void closure_sload8(BURS_TreeNode p, int c) {
1775            if (c < p.cost_load8) {
1776                    p.cost_load8 = (char)(c);
1777                    p.word1 = (p.word1 & 0xFFFFF3FF) | 0x400; // p.load8 = 1
1778                    closure_load8(p, c);
1779            }
1780    }
1781    
1782    static void closure_uload8(BURS_TreeNode p, int c) {
1783            if (c < p.cost_load8) {
1784                    p.cost_load8 = (char)(c);
1785                    p.word1 = (p.word1 & 0xFFFFF3FF) | 0x800; // p.load8 = 2
1786                    closure_load8(p, c);
1787            }
1788    }
1789    
1790    static void closure_load8(BURS_TreeNode p, int c) {
1791            if (c < p.cost_load8_16_32) {
1792                    p.cost_load8_16_32 = (char)(c);
1793                    p.word1 = (p.word1 & 0xFE7FFFFF) | 0x1000000; // p.load8_16_32 = 2
1794            }
1795    }
1796    
1797    static void closure_sload16(BURS_TreeNode p, int c) {
1798            if (c < p.cost_load16) {
1799                    p.cost_load16 = (char)(c);
1800                    p.word1 = (p.word1 & 0xFFFCFFFF) | 0x10000; // p.load16 = 1
1801                    closure_load16(p, c);
1802            }
1803    }
1804    
1805    static void closure_uload16(BURS_TreeNode p, int c) {
1806            if (c < p.cost_load16) {
1807                    p.cost_load16 = (char)(c);
1808                    p.word1 = (p.word1 & 0xFFFCFFFF) | 0x20000; // p.load16 = 2
1809                    closure_load16(p, c);
1810            }
1811    }
1812    
1813    static void closure_load16(BURS_TreeNode p, int c) {
1814            if (c < p.cost_load16_32) {
1815                    p.cost_load16_32 = (char)(c);
1816                    p.word1 = (p.word1 & 0xFF9FFFFF) | 0x200000; // p.load16_32 = 1
1817                    closure_load16_32(p, c);
1818            }
1819    }
1820    
1821    static void closure_load32(BURS_TreeNode p, int c) {
1822            if (c < p.cost_load16_32) {
1823                    p.cost_load16_32 = (char)(c);
1824                    p.word1 = (p.word1 & 0xFF9FFFFF) | 0x400000; // p.load16_32 = 2
1825                    closure_load16_32(p, c);
1826            }
1827    }
1828    
1829    static void closure_load16_32(BURS_TreeNode p, int c) {
1830            if (c < p.cost_load8_16_32) {
1831                    p.cost_load8_16_32 = (char)(c);
1832                    p.word1 = (p.word1 & 0xFE7FFFFF) | 0x800000; // p.load8_16_32 = 1
1833            }
1834    }
1835    
1836    static void closure_address1scaledreg(BURS_TreeNode p, int c) {
1837            if (c < p.cost_address) {
1838                    p.cost_address = (char)(c);
1839                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x8; // p.address = 1
1840            }
1841    }
1842    
1843    static void closure_address1reg(BURS_TreeNode p, int c) {
1844            if (c < p.cost_address1scaledreg) {
1845                    p.cost_address1scaledreg = (char)(c);
1846                    p.word1 = (p.word1 & 0x8FFFFFFF) | 0x10000000; // p.address1scaledreg = 1
1847                    closure_address1scaledreg(p, c);
1848            }
1849    }
1850    
1851    private void label_GET_CAUGHT_EXCEPTION(BURS_TreeNode p) {
1852            p.word0 = 0;
1853            p.initCost();
1854            // r: GET_CAUGHT_EXCEPTION
1855            if (11 < p.cost_r) {
1856                    p.cost_r = (char)(11);
1857                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC00; // p.r = 12
1858                    closure_r(p, 11);
1859            }
1860    }
1861    
1862    private void label_SET_CAUGHT_EXCEPTION(BURS_TreeNode p) {
1863            p.word0 = 0;
1864            p.initCost();
1865            BURS_TreeNode lchild;
1866            lchild = p.child1;
1867            label(lchild);
1868            int c;
1869            // stm: SET_CAUGHT_EXCEPTION(r)
1870            c = STATE(lchild).cost_r + 11;
1871            if (c < p.cost_stm) {
1872                    p.cost_stm = (char)(c);
1873                    p.word0 = (p.word0 & 0xFFFFFF00) | 0xD; // p.stm = 13
1874            }
1875            if (    // stm: SET_CAUGHT_EXCEPTION(INT_CONSTANT)
1876                    lchild.getOpcode() == INT_CONSTANT_opcode 
1877            ) {
1878                    c = 20;
1879                    if (c < p.cost_stm) {
1880                            p.cost_stm = (char)(c);
1881                            p.word0 = (p.word0 & 0xFFFFFF00) | 0xE; // p.stm = 14
1882                    }
1883            }
1884    }
1885    
1886    private void label_IG_PATCH_POINT(BURS_TreeNode p) {
1887            p.word0 = 0;
1888            p.initCost();
1889            // stm: IG_PATCH_POINT
1890            if (10 < p.cost_stm) {
1891                    p.cost_stm = (char)(10);
1892                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x2; // p.stm = 2
1893            }
1894    }
1895    
1896    private void label_INT_ALOAD(BURS_TreeNode p) {
1897            p.word0 = 0;
1898            p.initCost();
1899            BURS_TreeNode lchild, rchild;
1900            lchild = p.child1;
1901            rchild = p.child2;
1902            label(lchild);
1903            label(rchild);
1904            int c;
1905            // load32: INT_ALOAD(riv,riv)
1906            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
1907            if (c < p.cost_load32) {
1908                    p.cost_load32 = (char)(c);
1909                    p.word1 = (p.word1 & 0xFFE3FFFF) | 0x80000; // p.load32 = 2
1910                    closure_load32(p, c);
1911            }
1912            // r: INT_ALOAD(riv,riv)
1913            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
1914            if (c < p.cost_r) {
1915                    p.cost_r = (char)(c);
1916                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7C00; // p.r = 124
1917                    closure_r(p, c);
1918            }
1919    }
1920    
1921    private void label_LONG_ALOAD(BURS_TreeNode p) {
1922            p.word0 = 0;
1923            p.initCost();
1924            BURS_TreeNode lchild, rchild;
1925            lchild = p.child1;
1926            rchild = p.child2;
1927            label(lchild);
1928            label(rchild);
1929            int c;
1930            // load64: LONG_ALOAD(riv,riv)
1931            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
1932            if (c < p.cost_load64) {
1933                    p.cost_load64 = (char)(c);
1934                    p.word1 = (p.word1 & 0xF1FFFFFF) | 0x4000000; // p.load64 = 2
1935            }
1936            // r: LONG_ALOAD(riv,riv)
1937            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 30;
1938            if (c < p.cost_r) {
1939                    p.cost_r = (char)(c);
1940                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7E00; // p.r = 126
1941                    closure_r(p, c);
1942            }
1943    }
1944    
1945    private void label_FLOAT_ALOAD(BURS_TreeNode p) {
1946            p.word0 = 0;
1947            p.initCost();
1948            BURS_TreeNode lchild, rchild;
1949            lchild = p.child1;
1950            rchild = p.child2;
1951            label(lchild);
1952            label(rchild);
1953            int c;
1954            // r: FLOAT_ALOAD(riv,riv)
1955            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
1956            if (c < p.cost_r) {
1957                    p.cost_r = (char)(c);
1958                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB900; // p.r = 185
1959                    closure_r(p, c);
1960            }
1961            // float_load: FLOAT_ALOAD(riv,riv)
1962            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
1963            if (c < p.cost_float_load) {
1964                    p.cost_float_load = (char)(c);
1965                    p.word2 = (p.word2 & 0xFFFC7FFF) | 0x10000; // p.float_load = 2
1966            }
1967    }
1968    
1969    private void label_DOUBLE_ALOAD(BURS_TreeNode p) {
1970            p.word0 = 0;
1971            p.initCost();
1972            BURS_TreeNode lchild, rchild;
1973            lchild = p.child1;
1974            rchild = p.child2;
1975            label(lchild);
1976            label(rchild);
1977            int c;
1978            // r: DOUBLE_ALOAD(riv,riv)
1979            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
1980            if (c < p.cost_r) {
1981                    p.cost_r = (char)(c);
1982                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB700; // p.r = 183
1983                    closure_r(p, c);
1984            }
1985            // double_load: DOUBLE_ALOAD(riv,riv)
1986            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
1987            if (c < p.cost_double_load) {
1988                    p.cost_double_load = (char)(c);
1989                    p.word2 = (p.word2 & 0xFFE3FFFF) | 0x80000; // p.double_load = 2
1990            }
1991    }
1992    
1993    private void label_UBYTE_ALOAD(BURS_TreeNode p) {
1994            p.word0 = 0;
1995            p.initCost();
1996            BURS_TreeNode lchild, rchild;
1997            lchild = p.child1;
1998            rchild = p.child2;
1999            label(lchild);
2000            label(rchild);
2001            int c;
2002            // uload8: UBYTE_ALOAD(riv,riv)
2003            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
2004            if (c < p.cost_uload8) {
2005                    p.cost_uload8 = (char)(c);
2006                    p.word1 = (p.word1 & 0xFFFFFC7F) | 0x100; // p.uload8 = 2
2007                    closure_uload8(p, c);
2008            }
2009            // r: UBYTE_ALOAD(riv,riv)
2010            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
2011            if (c < p.cost_r) {
2012                    p.cost_r = (char)(c);
2013                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6A00; // p.r = 106
2014                    closure_r(p, c);
2015            }
2016    }
2017    
2018    private void label_BYTE_ALOAD(BURS_TreeNode p) {
2019            p.word0 = 0;
2020            p.initCost();
2021            BURS_TreeNode lchild, rchild;
2022            lchild = p.child1;
2023            rchild = p.child2;
2024            label(lchild);
2025            label(rchild);
2026            int c;
2027            // sload8: BYTE_ALOAD(riv,riv)
2028            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
2029            if (c < p.cost_sload8) {
2030                    p.cost_sload8 = (char)(c);
2031                    p.word1 = (p.word1 & 0xFFFFFF9F) | 0x40; // p.sload8 = 2
2032                    closure_sload8(p, c);
2033            }
2034            // r: BYTE_ALOAD(riv,riv)
2035            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 20;
2036            if (c < p.cost_r) {
2037                    p.cost_r = (char)(c);
2038                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6800; // p.r = 104
2039                    closure_r(p, c);
2040            }
2041    }
2042    
2043    private void label_USHORT_ALOAD(BURS_TreeNode p) {
2044            p.word0 = 0;
2045            p.initCost();
2046            BURS_TreeNode lchild, rchild;
2047            lchild = p.child1;
2048            rchild = p.child2;
2049            label(lchild);
2050            label(rchild);
2051            int c;
2052            // uload16: USHORT_ALOAD(riv,riv)
2053            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
2054            if (c < p.cost_uload16) {
2055                    p.cost_uload16 = (char)(c);
2056                    p.word1 = (p.word1 & 0xFFFF3FFF) | 0x8000; // p.uload16 = 2
2057                    closure_uload16(p, c);
2058            }
2059            // r: USHORT_ALOAD(riv,riv)
2060            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
2061            if (c < p.cost_r) {
2062                    p.cost_r = (char)(c);
2063                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7100; // p.r = 113
2064                    closure_r(p, c);
2065            }
2066    }
2067    
2068    private void label_SHORT_ALOAD(BURS_TreeNode p) {
2069            p.word0 = 0;
2070            p.initCost();
2071            BURS_TreeNode lchild, rchild;
2072            lchild = p.child1;
2073            rchild = p.child2;
2074            label(lchild);
2075            label(rchild);
2076            int c;
2077            // sload16: SHORT_ALOAD(riv,riv)
2078            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
2079            if (c < p.cost_sload16) {
2080                    p.cost_sload16 = (char)(c);
2081                    p.word1 = (p.word1 & 0xFFFFCFFF) | 0x2000; // p.sload16 = 2
2082                    closure_sload16(p, c);
2083            }
2084            // r: SHORT_ALOAD(riv,riv)
2085            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 20;
2086            if (c < p.cost_r) {
2087                    p.cost_r = (char)(c);
2088                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6F00; // p.r = 111
2089                    closure_r(p, c);
2090            }
2091    }
2092    
2093    private void label_INT_ASTORE(BURS_TreeNode p) {
2094            p.word0 = 0;
2095            p.initCost();
2096            BURS_TreeNode lchild, rchild;
2097            lchild = p.child1;
2098            rchild = p.child2;
2099            label(lchild);
2100            label(rchild);
2101            int c;
2102            if (    // stm: INT_ASTORE(INT_ADD(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
2103                    lchild.getOpcode() == INT_ADD_opcode && 
2104                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2105                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2106            ) {
2107                    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);
2108                    if (c < p.cost_stm) {
2109                            p.cost_stm = (char)(c);
2110                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1B; // p.stm = 27
2111                    }
2112            }
2113            if (    // stm: INT_ASTORE(INT_ADD(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2114                    lchild.getOpcode() == INT_ADD_opcode && 
2115                    lchild.child2.getOpcode() == INT_ALOAD_opcode && 
2116                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2117            ) {
2118                    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);
2119                    if (c < p.cost_stm) {
2120                            p.cost_stm = (char)(c);
2121                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1C; // p.stm = 28
2122                    }
2123            }
2124            if (    // stm: INT_ASTORE(INT_SUB(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
2125                    lchild.getOpcode() == INT_SUB_opcode && 
2126                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2127                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2128            ) {
2129                    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);
2130                    if (c < p.cost_stm) {
2131                            p.cost_stm = (char)(c);
2132                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1F; // p.stm = 31
2133                    }
2134            }
2135            if (    // stm: INT_ASTORE(INT_SUB(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2136                    lchild.getOpcode() == INT_SUB_opcode && 
2137                    lchild.child2.getOpcode() == INT_ALOAD_opcode && 
2138                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2139            ) {
2140                    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);
2141                    if (c < p.cost_stm) {
2142                            p.cost_stm = (char)(c);
2143                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x20; // p.stm = 32
2144                    }
2145            }
2146            if (    // stm: INT_ASTORE(INT_NEG(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2147                    lchild.getOpcode() == INT_NEG_opcode && 
2148                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2149                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2150            ) {
2151                    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);
2152                    if (c < p.cost_stm) {
2153                            p.cost_stm = (char)(c);
2154                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x22; // p.stm = 34
2155                    }
2156            }
2157            if (    // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
2158                    lchild.getOpcode() == INT_SHL_opcode && 
2159                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2160                    lchild.child2.getOpcode() == INT_AND_opcode && 
2161                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
2162                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2163            ) {
2164                    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));
2165                    if (c < p.cost_stm) {
2166                            p.cost_stm = (char)(c);
2167                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x25; // p.stm = 37
2168                    }
2169            }
2170            if (    // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
2171                    lchild.getOpcode() == INT_SHL_opcode && 
2172                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2173                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
2174                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2175            ) {
2176                    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));
2177                    if (c < p.cost_stm) {
2178                            p.cost_stm = (char)(c);
2179                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x26; // p.stm = 38
2180                    }
2181            }
2182            if (    // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
2183                    lchild.getOpcode() == INT_SHR_opcode && 
2184                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2185                    lchild.child2.getOpcode() == INT_AND_opcode && 
2186                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
2187                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2188            ) {
2189                    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));
2190                    if (c < p.cost_stm) {
2191                            p.cost_stm = (char)(c);
2192                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x29; // p.stm = 41
2193                    }
2194            }
2195            if (    // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
2196                    lchild.getOpcode() == INT_SHR_opcode && 
2197                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2198                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
2199                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2200            ) {
2201                    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));
2202                    if (c < p.cost_stm) {
2203                            p.cost_stm = (char)(c);
2204                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2A; // p.stm = 42
2205                    }
2206            }
2207            if (    // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
2208                    lchild.getOpcode() == INT_USHR_opcode && 
2209                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2210                    lchild.child2.getOpcode() == INT_AND_opcode && 
2211                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
2212                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2213            ) {
2214                    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));
2215                    if (c < p.cost_stm) {
2216                            p.cost_stm = (char)(c);
2217                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2D; // p.stm = 45
2218                    }
2219            }
2220            if (    // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
2221                    lchild.getOpcode() == INT_USHR_opcode && 
2222                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2223                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
2224                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2225            ) {
2226                    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));
2227                    if (c < p.cost_stm) {
2228                            p.cost_stm = (char)(c);
2229                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2E; // p.stm = 46
2230                    }
2231            }
2232            if (    // stm: INT_ASTORE(INT_AND(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
2233                    lchild.getOpcode() == INT_AND_opcode && 
2234                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2235                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2236            ) {
2237                    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);
2238                    if (c < p.cost_stm) {
2239                            p.cost_stm = (char)(c);
2240                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x31; // p.stm = 49
2241                    }
2242            }
2243            if (    // stm: INT_ASTORE(INT_AND(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2244                    lchild.getOpcode() == INT_AND_opcode && 
2245                    lchild.child2.getOpcode() == INT_ALOAD_opcode && 
2246                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2247            ) {
2248                    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);
2249                    if (c < p.cost_stm) {
2250                            p.cost_stm = (char)(c);
2251                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x32; // p.stm = 50
2252                    }
2253            }
2254            if (    // stm: INT_ASTORE(INT_OR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
2255                    lchild.getOpcode() == INT_OR_opcode && 
2256                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2257                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2258            ) {
2259                    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);
2260                    if (c < p.cost_stm) {
2261                            p.cost_stm = (char)(c);
2262                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x35; // p.stm = 53
2263                    }
2264            }
2265            if (    // stm: INT_ASTORE(INT_OR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2266                    lchild.getOpcode() == INT_OR_opcode && 
2267                    lchild.child2.getOpcode() == INT_ALOAD_opcode && 
2268                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2269            ) {
2270                    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);
2271                    if (c < p.cost_stm) {
2272                            p.cost_stm = (char)(c);
2273                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x36; // p.stm = 54
2274                    }
2275            }
2276            if (    // stm: INT_ASTORE(INT_XOR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
2277                    lchild.getOpcode() == INT_XOR_opcode && 
2278                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2279                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2280            ) {
2281                    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);
2282                    if (c < p.cost_stm) {
2283                            p.cost_stm = (char)(c);
2284                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x39; // p.stm = 57
2285                    }
2286            }
2287            if (    // stm: INT_ASTORE(INT_XOR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2288                    lchild.getOpcode() == INT_XOR_opcode && 
2289                    lchild.child2.getOpcode() == INT_ALOAD_opcode && 
2290                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2291            ) {
2292                    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);
2293                    if (c < p.cost_stm) {
2294                            p.cost_stm = (char)(c);
2295                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3A; // p.stm = 58
2296                    }
2297            }
2298            if (    // stm: INT_ASTORE(INT_NOT(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2299                    lchild.getOpcode() == INT_NOT_opcode && 
2300                    lchild.child1.getOpcode() == INT_ALOAD_opcode && 
2301                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2302            ) {
2303                    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);
2304                    if (c < p.cost_stm) {
2305                            p.cost_stm = (char)(c);
2306                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3C; // p.stm = 60
2307                    }
2308            }
2309            if (    // stm: INT_ASTORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
2310                    lchild.getOpcode() == LONG_2INT_opcode && 
2311                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2312            ) {
2313                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2314                    if (c < p.cost_stm) {
2315                            p.cost_stm = (char)(c);
2316                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x44; // p.stm = 68
2317                    }
2318            }
2319            if (    // stm: INT_ASTORE(riv,OTHER_OPERAND(riv,riv))
2320                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2321            ) {
2322                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2323                    if (c < p.cost_stm) {
2324                            p.cost_stm = (char)(c);
2325                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x61; // p.stm = 97
2326                    }
2327            }
2328    }
2329    
2330    private void label_LONG_ASTORE(BURS_TreeNode p) {
2331            p.word0 = 0;
2332            p.initCost();
2333            BURS_TreeNode lchild, rchild;
2334            lchild = p.child1;
2335            rchild = p.child2;
2336            label(lchild);
2337            label(rchild);
2338            int c;
2339            if (    // stm: LONG_ASTORE(r,OTHER_OPERAND(riv,riv))
2340                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2341            ) {
2342                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 30;
2343                    if (c < p.cost_stm) {
2344                            p.cost_stm = (char)(c);
2345                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x64; // p.stm = 100
2346                    }
2347            }
2348            if (    // stm: LONG_ASTORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
2349                    lchild.getOpcode() == LONG_CONSTANT_opcode && 
2350                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2351            ) {
2352                    c = STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 26;
2353                    if (c < p.cost_stm) {
2354                            p.cost_stm = (char)(c);
2355                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x65; // p.stm = 101
2356                    }
2357            }
2358            if (    // stm: LONG_ASTORE(load64,OTHER_OPERAND(riv,riv))
2359                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2360            ) {
2361                    c = STATE(lchild).cost_load64 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 32;
2362                    if (c < p.cost_stm) {
2363                            p.cost_stm = (char)(c);
2364                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x8D; // p.stm = 141
2365                    }
2366            }
2367    }
2368    
2369    private void label_FLOAT_ASTORE(BURS_TreeNode p) {
2370            p.word0 = 0;
2371            p.initCost();
2372            BURS_TreeNode lchild, rchild;
2373            lchild = p.child1;
2374            rchild = p.child2;
2375            label(lchild);
2376            label(rchild);
2377            int c;
2378            if (    // stm: FLOAT_ASTORE(r,OTHER_OPERAND(riv,riv))
2379                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2380            ) {
2381                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 17;
2382                    if (c < p.cost_stm) {
2383                            p.cost_stm = (char)(c);
2384                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x85; // p.stm = 133
2385                    }
2386            }
2387    }
2388    
2389    private void label_DOUBLE_ASTORE(BURS_TreeNode p) {
2390            p.word0 = 0;
2391            p.initCost();
2392            BURS_TreeNode lchild, rchild;
2393            lchild = p.child1;
2394            rchild = p.child2;
2395            label(lchild);
2396            label(rchild);
2397            int c;
2398            if (    // stm: DOUBLE_ASTORE(r,OTHER_OPERAND(riv,riv))
2399                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2400            ) {
2401                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 17;
2402                    if (c < p.cost_stm) {
2403                            p.cost_stm = (char)(c);
2404                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x83; // p.stm = 131
2405                    }
2406            }
2407    }
2408    
2409    private void label_BYTE_ASTORE(BURS_TreeNode p) {
2410            p.word0 = 0;
2411            p.initCost();
2412            BURS_TreeNode lchild, rchild;
2413            lchild = p.child1;
2414            rchild = p.child2;
2415            label(lchild);
2416            label(rchild);
2417            int c;
2418            if (    // stm: BYTE_ASTORE(BOOLEAN_NOT(UBYTE_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
2419                    lchild.getOpcode() == BOOLEAN_NOT_opcode && 
2420                    lchild.child1.getOpcode() == UBYTE_ALOAD_opcode && 
2421                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2422            ) {
2423                    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);
2424                    if (c < p.cost_stm) {
2425                            p.cost_stm = (char)(c);
2426                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x16; // p.stm = 22
2427                    }
2428            }
2429            if (    // stm: BYTE_ASTORE(boolcmp,OTHER_OPERAND(riv,riv))
2430                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2431            ) {
2432                    c = STATE(lchild).cost_boolcmp + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2433                    if (c < p.cost_stm) {
2434                            p.cost_stm = (char)(c);
2435                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x18; // p.stm = 24
2436                    }
2437            }
2438            if (    // stm: BYTE_ASTORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
2439                    lchild.getOpcode() == INT_2BYTE_opcode && 
2440                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2441            ) {
2442                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2443                    if (c < p.cost_stm) {
2444                            p.cost_stm = (char)(c);
2445                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3E; // p.stm = 62
2446                    }
2447            }
2448            if (    // stm: BYTE_ASTORE(riv,OTHER_OPERAND(riv,riv))
2449                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2450            ) {
2451                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2452                    if (c < p.cost_stm) {
2453                            p.cost_stm = (char)(c);
2454                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x55; // p.stm = 85
2455                    }
2456            }
2457            if (    // stm: BYTE_ASTORE(load8,OTHER_OPERAND(riv,riv))
2458                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2459            ) {
2460                    c = STATE(lchild).cost_load8 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 25;
2461                    if (c < p.cost_stm) {
2462                            p.cost_stm = (char)(c);
2463                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x56; // p.stm = 86
2464                    }
2465            }
2466    }
2467    
2468    private void label_SHORT_ASTORE(BURS_TreeNode p) {
2469            p.word0 = 0;
2470            p.initCost();
2471            BURS_TreeNode lchild, rchild;
2472            lchild = p.child1;
2473            rchild = p.child2;
2474            label(lchild);
2475            label(rchild);
2476            int c;
2477            if (    // stm: SHORT_ASTORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
2478                    lchild.getOpcode() == INT_2USHORT_opcode && 
2479                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2480            ) {
2481                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2482                    if (c < p.cost_stm) {
2483                            p.cost_stm = (char)(c);
2484                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x40; // p.stm = 64
2485                    }
2486            }
2487            if (    // stm: SHORT_ASTORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
2488                    lchild.getOpcode() == INT_2SHORT_opcode && 
2489                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2490            ) {
2491                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2492                    if (c < p.cost_stm) {
2493                            p.cost_stm = (char)(c);
2494                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x42; // p.stm = 66
2495                    }
2496            }
2497            if (    // stm: SHORT_ASTORE(riv,OTHER_OPERAND(riv,riv))
2498                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2499            ) {
2500                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
2501                    if (c < p.cost_stm) {
2502                            p.cost_stm = (char)(c);
2503                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x59; // p.stm = 89
2504                    }
2505            }
2506            if (    // stm: SHORT_ASTORE(load16,OTHER_OPERAND(riv,riv))
2507                    rchild.getOpcode() == OTHER_OPERAND_opcode 
2508            ) {
2509                    c = STATE(lchild).cost_load16 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 25;
2510                    if (c < p.cost_stm) {
2511                            p.cost_stm = (char)(c);
2512                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5A; // p.stm = 90
2513                    }
2514            }
2515    }
2516    
2517    private void label_INT_IFCMP(BURS_TreeNode p) {
2518            p.word0 = 0;
2519            p.initCost();
2520            BURS_TreeNode lchild, rchild;
2521            lchild = p.child1;
2522            rchild = p.child2;
2523            label(lchild);
2524            label(rchild);
2525            int c;
2526            if (    // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2527                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2528                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2529                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2530                    rchild.getOpcode() == INT_CONSTANT_opcode 
2531            ) {
2532                    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);
2533                    if (c < p.cost_stm) {
2534                            p.cost_stm = (char)(c);
2535                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x45; // p.stm = 69
2536                    }
2537            }
2538            if (    // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2539                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2540                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2541                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2542                    rchild.getOpcode() == INT_CONSTANT_opcode 
2543            ) {
2544                    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);
2545                    if (c < p.cost_stm) {
2546                            p.cost_stm = (char)(c);
2547                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x46; // p.stm = 70
2548                    }
2549            }
2550            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2551                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2552                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2553                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2554                    rchild.getOpcode() == INT_CONSTANT_opcode 
2555            ) {
2556                    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);
2557                    if (c < p.cost_stm) {
2558                            p.cost_stm = (char)(c);
2559                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x47; // p.stm = 71
2560                    }
2561            }
2562            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2563                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2564                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2565                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2566                    rchild.getOpcode() == INT_CONSTANT_opcode 
2567            ) {
2568                    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);
2569                    if (c < p.cost_stm) {
2570                            p.cost_stm = (char)(c);
2571                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x48; // p.stm = 72
2572                    }
2573            }
2574            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2575                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2576                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2577                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2578                    rchild.getOpcode() == INT_CONSTANT_opcode 
2579            ) {
2580                    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);
2581                    if (c < p.cost_stm) {
2582                            p.cost_stm = (char)(c);
2583                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x49; // p.stm = 73
2584                    }
2585            }
2586            if (    // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2587                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2588                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2589                    lchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
2590                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2591                    rchild.getOpcode() == INT_CONSTANT_opcode 
2592            ) {
2593                    c = STATE(lchild.child1).cost_address + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isZERO(VR(p), 54);
2594                    if (c < p.cost_stm) {
2595                            p.cost_stm = (char)(c);
2596                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4A; // p.stm = 74
2597                    }
2598            }
2599            if (    // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2600                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2601                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
2602                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2603                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2604                    rchild.getOpcode() == INT_CONSTANT_opcode 
2605            ) {
2606                    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);
2607                    if (c < p.cost_stm) {
2608                            p.cost_stm = (char)(c);
2609                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4B; // p.stm = 75
2610                    }
2611            }
2612            if (    // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2613                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2614                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2615                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2616                    rchild.getOpcode() == INT_CONSTANT_opcode 
2617            ) {
2618                    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);
2619                    if (c < p.cost_stm) {
2620                            p.cost_stm = (char)(c);
2621                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4C; // p.stm = 76
2622                    }
2623            }
2624            if (    // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2625                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2626                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2627                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2628                    rchild.getOpcode() == INT_CONSTANT_opcode 
2629            ) {
2630                    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);
2631                    if (c < p.cost_stm) {
2632                            p.cost_stm = (char)(c);
2633                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4D; // p.stm = 77
2634                    }
2635            }
2636            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2637                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2638                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2639                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2640                    rchild.getOpcode() == INT_CONSTANT_opcode 
2641            ) {
2642                    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);
2643                    if (c < p.cost_stm) {
2644                            p.cost_stm = (char)(c);
2645                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4E; // p.stm = 78
2646                    }
2647            }
2648            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2649                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2650                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2651                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2652                    rchild.getOpcode() == INT_CONSTANT_opcode 
2653            ) {
2654                    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);
2655                    if (c < p.cost_stm) {
2656                            p.cost_stm = (char)(c);
2657                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x4F; // p.stm = 79
2658                    }
2659            }
2660            if (    // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2661                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2662                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2663                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2664                    rchild.getOpcode() == INT_CONSTANT_opcode 
2665            ) {
2666                    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);
2667                    if (c < p.cost_stm) {
2668                            p.cost_stm = (char)(c);
2669                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x50; // p.stm = 80
2670                    }
2671            }
2672            if (    // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2673                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2674                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2675                    lchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
2676                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2677                    rchild.getOpcode() == INT_CONSTANT_opcode 
2678            ) {
2679                    c = STATE(lchild.child1).cost_address + STATE(lchild.child2.child2.child1).cost_riv + STATE(lchild.child2.child2.child2).cost_riv + isONE(VR(p), 54);
2680                    if (c < p.cost_stm) {
2681                            p.cost_stm = (char)(c);
2682                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x51; // p.stm = 81
2683                    }
2684            }
2685            if (    // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
2686                    lchild.getOpcode() == ATTEMPT_INT_opcode && 
2687                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
2688                    lchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
2689                    lchild.child2.child2.getOpcode() == OTHER_OPERAND_opcode && 
2690                    rchild.getOpcode() == INT_CONSTANT_opcode 
2691            ) {
2692                    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);
2693                    if (c < p.cost_stm) {
2694                            p.cost_stm = (char)(c);
2695                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x52; // p.stm = 82
2696                    }
2697            }
2698            // stm: INT_IFCMP(r,riv)
2699            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 26;
2700            if (c < p.cost_stm) {
2701                    p.cost_stm = (char)(c);
2702                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x66; // p.stm = 102
2703            }
2704            if (    // stm: INT_IFCMP(r,INT_CONSTANT)
2705                    rchild.getOpcode() == INT_CONSTANT_opcode 
2706            ) {
2707                    c = STATE(lchild).cost_r + (VR(p) == 0 && CMP_TO_TEST(IfCmp.getCond(P(p))) ? 24:INFINITE);
2708                    if (c < p.cost_stm) {
2709                            p.cost_stm = (char)(c);
2710                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x67; // p.stm = 103
2711                    }
2712            }
2713            if (    // stm: INT_IFCMP(load8,INT_CONSTANT)
2714                    rchild.getOpcode() == INT_CONSTANT_opcode 
2715            ) {
2716                    c = STATE(lchild).cost_load8 + FITS(IfCmp.getVal2(P(p)), 8, 28);
2717                    if (c < p.cost_stm) {
2718                            p.cost_stm = (char)(c);
2719                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x68; // p.stm = 104
2720                    }
2721            }
2722            // stm: INT_IFCMP(uload8,r)
2723            c = STATE(lchild).cost_uload8 + STATE(rchild).cost_r + 28;
2724            if (c < p.cost_stm) {
2725                    p.cost_stm = (char)(c);
2726                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x69; // p.stm = 105
2727            }
2728            // stm: INT_IFCMP(r,uload8)
2729            c = STATE(lchild).cost_r + STATE(rchild).cost_uload8 + 28;
2730            if (c < p.cost_stm) {
2731                    p.cost_stm = (char)(c);
2732                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x6A; // p.stm = 106
2733            }
2734            if (    // stm: INT_IFCMP(sload16,INT_CONSTANT)
2735                    rchild.getOpcode() == INT_CONSTANT_opcode 
2736            ) {
2737                    c = STATE(lchild).cost_sload16 + FITS(IfCmp.getVal2(P(p)), 8, 28);
2738                    if (c < p.cost_stm) {
2739                            p.cost_stm = (char)(c);
2740                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x6B; // p.stm = 107
2741                    }
2742            }
2743            // stm: INT_IFCMP(load32,riv)
2744            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 28;
2745            if (c < p.cost_stm) {
2746                    p.cost_stm = (char)(c);
2747                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x6C; // p.stm = 108
2748            }
2749            // stm: INT_IFCMP(r,load32)
2750            c = STATE(lchild).cost_r + STATE(rchild).cost_load32 + 28;
2751            if (c < p.cost_stm) {
2752                    p.cost_stm = (char)(c);
2753                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x6D; // p.stm = 109
2754            }
2755            if (    // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
2756                    rchild.getOpcode() == INT_CONSTANT_opcode 
2757            ) {
2758                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 0 && IfCmp.getCond(P(p)).isNOT_EQUAL()) || (VR(p) == 1 && IfCmp.getCond(P(p)).isEQUAL()) ? 13:INFINITE);
2759                    if (c < p.cost_stm) {
2760                            p.cost_stm = (char)(c);
2761                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x6E; // p.stm = 110
2762                    }
2763            }
2764            if (    // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
2765                    rchild.getOpcode() == INT_CONSTANT_opcode 
2766            ) {
2767                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 0 && IfCmp.getCond(P(p)).isEQUAL()) || (VR(p) == 1 && IfCmp.getCond(P(p)).isNOT_EQUAL()) ? 13:INFINITE);
2768                    if (c < p.cost_stm) {
2769                            p.cost_stm = (char)(c);
2770                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x6F; // p.stm = 111
2771                    }
2772            }
2773            if (    // stm: INT_IFCMP(cz,INT_CONSTANT)
2774                    rchild.getOpcode() == INT_CONSTANT_opcode 
2775            ) {
2776                    c = STATE(lchild).cost_cz + isZERO(VR(p), 11);
2777                    if (c < p.cost_stm) {
2778                            p.cost_stm = (char)(c);
2779                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x70; // p.stm = 112
2780                    }
2781            }
2782            if (    // stm: INT_IFCMP(szp,INT_CONSTANT)
2783                    rchild.getOpcode() == INT_CONSTANT_opcode 
2784            ) {
2785                    c = STATE(lchild).cost_szp + (VR(p) == 0 && EQ_NE(IfCmp.getCond(P(p)))?11:INFINITE);
2786                    if (c < p.cost_stm) {
2787                            p.cost_stm = (char)(c);
2788                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x71; // p.stm = 113
2789                    }
2790            }
2791            if (    // stm: INT_IFCMP(bittest,INT_CONSTANT)
2792                    rchild.getOpcode() == INT_CONSTANT_opcode 
2793            ) {
2794                    c = STATE(lchild).cost_bittest + ((VR(p) == 0 || VR(p) == 1) && EQ_NE(IfCmp.getCond(P(p))) ? 11 : INFINITE);
2795                    if (c < p.cost_stm) {
2796                            p.cost_stm = (char)(c);
2797                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x72; // p.stm = 114
2798                    }
2799            }
2800    }
2801    
2802    private void label_INT_IFCMP2(BURS_TreeNode p) {
2803            p.word0 = 0;
2804            p.initCost();
2805            BURS_TreeNode lchild, rchild;
2806            lchild = p.child1;
2807            rchild = p.child2;
2808            label(lchild);
2809            label(rchild);
2810            int c;
2811            // stm: INT_IFCMP2(r,riv)
2812            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 26;
2813            if (c < p.cost_stm) {
2814                    p.cost_stm = (char)(c);
2815                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x73; // p.stm = 115
2816            }
2817            // stm: INT_IFCMP2(load32,riv)
2818            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 28;
2819            if (c < p.cost_stm) {
2820                    p.cost_stm = (char)(c);
2821                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x74; // p.stm = 116
2822            }
2823            // stm: INT_IFCMP2(riv,load32)
2824            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 28;
2825            if (c < p.cost_stm) {
2826                    p.cost_stm = (char)(c);
2827                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x75; // p.stm = 117
2828            }
2829    }
2830    
2831    private void label_LONG_IFCMP(BURS_TreeNode p) {
2832            p.word0 = 0;
2833            p.initCost();
2834            BURS_TreeNode lchild, rchild;
2835            lchild = p.child1;
2836            rchild = p.child2;
2837            label(lchild);
2838            label(rchild);
2839            int c;
2840            // stm: LONG_IFCMP(rlv,rlv)
2841            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 30;
2842            if (c < p.cost_stm) {
2843                    p.cost_stm = (char)(c);
2844                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x76; // p.stm = 118
2845            }
2846    }
2847    
2848    private void label_FLOAT_IFCMP(BURS_TreeNode p) {
2849            p.word0 = 0;
2850            p.initCost();
2851            BURS_TreeNode lchild, rchild;
2852            lchild = p.child1;
2853            rchild = p.child2;
2854            label(lchild);
2855            label(rchild);
2856            int c;
2857            // stm: FLOAT_IFCMP(r,r)
2858            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
2859            if (c < p.cost_stm) {
2860                    p.cost_stm = (char)(c);
2861                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x87; // p.stm = 135
2862            }
2863            // stm: FLOAT_IFCMP(r,float_load)
2864            c = STATE(lchild).cost_r + STATE(rchild).cost_float_load + 15;
2865            if (c < p.cost_stm) {
2866                    p.cost_stm = (char)(c);
2867                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x88; // p.stm = 136
2868            }
2869            // stm: FLOAT_IFCMP(float_load,r)
2870            c = STATE(lchild).cost_float_load + STATE(rchild).cost_r + 15;
2871            if (c < p.cost_stm) {
2872                    p.cost_stm = (char)(c);
2873                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x89; // p.stm = 137
2874            }
2875    }
2876    
2877    private void label_DOUBLE_IFCMP(BURS_TreeNode p) {
2878            p.word0 = 0;
2879            p.initCost();
2880            BURS_TreeNode lchild, rchild;
2881            lchild = p.child1;
2882            rchild = p.child2;
2883            label(lchild);
2884            label(rchild);
2885            int c;
2886            // stm: DOUBLE_IFCMP(r,r)
2887            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
2888            if (c < p.cost_stm) {
2889                    p.cost_stm = (char)(c);
2890                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x8A; // p.stm = 138
2891            }
2892            // stm: DOUBLE_IFCMP(r,double_load)
2893            c = STATE(lchild).cost_r + STATE(rchild).cost_double_load + 15;
2894            if (c < p.cost_stm) {
2895                    p.cost_stm = (char)(c);
2896                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x8B; // p.stm = 139
2897            }
2898            // stm: DOUBLE_IFCMP(double_load,r)
2899            c = STATE(lchild).cost_double_load + STATE(rchild).cost_r + 15;
2900            if (c < p.cost_stm) {
2901                    p.cost_stm = (char)(c);
2902                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x8C; // p.stm = 140
2903            }
2904    }
2905    
2906    private void label_UNINT_BEGIN(BURS_TreeNode p) {
2907            p.word0 = 0;
2908            p.initCost();
2909            // stm: UNINT_BEGIN
2910            if (10 < p.cost_stm) {
2911                    p.cost_stm = (char)(10);
2912                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x3; // p.stm = 3
2913            }
2914    }
2915    
2916    private void label_UNINT_END(BURS_TreeNode p) {
2917            p.word0 = 0;
2918            p.initCost();
2919            // stm: UNINT_END
2920            if (10 < p.cost_stm) {
2921                    p.cost_stm = (char)(10);
2922                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x4; // p.stm = 4
2923            }
2924    }
2925    
2926    private void label_FENCE(BURS_TreeNode p) {
2927            p.word0 = 0;
2928            p.initCost();
2929            // stm: FENCE
2930            if (11 < p.cost_stm) {
2931                    p.cost_stm = (char)(11);
2932                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x7B; // p.stm = 123
2933            }
2934    }
2935    
2936    private void label_READ_CEILING(BURS_TreeNode p) {
2937            p.word0 = 0;
2938            p.initCost();
2939            // stm: READ_CEILING
2940            if (11 < p.cost_stm) {
2941                    p.cost_stm = (char)(11);
2942                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x7A; // p.stm = 122
2943            }
2944    }
2945    
2946    private void label_WRITE_FLOOR(BURS_TreeNode p) {
2947            p.word0 = 0;
2948            p.initCost();
2949            // stm: WRITE_FLOOR
2950            if (11 < p.cost_stm) {
2951                    p.cost_stm = (char)(11);
2952                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x79; // p.stm = 121
2953            }
2954    }
2955    
2956    private void label_NOP(BURS_TreeNode p) {
2957            p.word0 = 0;
2958            p.initCost();
2959            // stm: NOP
2960            if (10 < p.cost_stm) {
2961                    p.cost_stm = (char)(10);
2962                    p.word0 = (p.word0 & 0xFFFFFF00) | 0xA; // p.stm = 10
2963            }
2964    }
2965    
2966    private void label_INT_MOVE(BURS_TreeNode p) {
2967            p.word0 = 0;
2968            p.initCost();
2969            BURS_TreeNode lchild;
2970            lchild = p.child1;
2971            label(lchild);
2972            int c;
2973            // address1reg: INT_MOVE(r)
2974            c = STATE(lchild).cost_r + 0;
2975            if (c < p.cost_address1reg) {
2976                    p.cost_address1reg = (char)(c);
2977                    p.word2 = (p.word2 & 0xFFFFFFF8) | 0x2; // p.address1reg = 2
2978                    closure_address1reg(p, c);
2979            }
2980            // r: INT_MOVE(address)
2981            c = STATE(lchild).cost_address + 20;
2982            if (c < p.cost_r) {
2983                    p.cost_r = (char)(c);
2984                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x900; // p.r = 9
2985                    closure_r(p, c);
2986            }
2987            // r: INT_MOVE(riv)
2988            c = STATE(lchild).cost_riv + 13;
2989            if (c < p.cost_r) {
2990                    p.cost_r = (char)(c);
2991                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6300; // p.r = 99
2992                    closure_r(p, c);
2993            }
2994            // czr: INT_MOVE(czr)
2995            c = STATE(lchild).cost_czr + 11;
2996            if (c < p.cost_czr) {
2997                    p.cost_czr = (char)(c);
2998                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x70000; // p.czr = 7
2999                    closure_czr(p, c);
3000            }
3001            // cz: INT_MOVE(cz)
3002            c = STATE(lchild).cost_cz + 0;
3003            if (c < p.cost_cz) {
3004                    p.cost_cz = (char)(c);
3005                    p.word0 = (p.word0 & 0xFFE7FFFF) | 0x100000; // p.cz = 2
3006            }
3007            // szpr: INT_MOVE(szpr)
3008            c = STATE(lchild).cost_szpr + 11;
3009            if (c < p.cost_szpr) {
3010                    p.cost_szpr = (char)(c);
3011                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2C00000; // p.szpr = 22
3012                    closure_szpr(p, c);
3013            }
3014            // szp: INT_MOVE(szp)
3015            c = STATE(lchild).cost_szp + 0;
3016            if (c < p.cost_szp) {
3017                    p.cost_szp = (char)(c);
3018                    p.word0 = (p.word0 & 0xE3FFFFFF) | 0x14000000; // p.szp = 5
3019            }
3020            // address1reg: INT_MOVE(address1reg)
3021            c = STATE(lchild).cost_address1reg + 0;
3022            if (c < p.cost_address1reg) {
3023                    p.cost_address1reg = (char)(c);
3024                    p.word2 = (p.word2 & 0xFFFFFFF8) | 0x4; // p.address1reg = 4
3025                    closure_address1reg(p, c);
3026            }
3027            // address1scaledreg: INT_MOVE(address1scaledreg)
3028            c = STATE(lchild).cost_address1scaledreg + 0;
3029            if (c < p.cost_address1scaledreg) {
3030                    p.cost_address1scaledreg = (char)(c);
3031                    p.word1 = (p.word1 & 0x8FFFFFFF) | 0x40000000; // p.address1scaledreg = 4
3032                    closure_address1scaledreg(p, c);
3033            }
3034            // address: INT_MOVE(address)
3035            c = STATE(lchild).cost_address + 0;
3036            if (c < p.cost_address) {
3037                    p.cost_address = (char)(c);
3038                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x40; // p.address = 8
3039            }
3040            // sload8: INT_MOVE(sload8)
3041            c = STATE(lchild).cost_sload8 + 0;
3042            if (c < p.cost_sload8) {
3043                    p.cost_sload8 = (char)(c);
3044                    p.word1 = (p.word1 & 0xFFFFFF9F) | 0x60; // p.sload8 = 3
3045                    closure_sload8(p, c);
3046            }
3047            // uload8: INT_MOVE(uload8)
3048            c = STATE(lchild).cost_uload8 + 0;
3049            if (c < p.cost_uload8) {
3050                    p.cost_uload8 = (char)(c);
3051                    p.word1 = (p.word1 & 0xFFFFFC7F) | 0x180; // p.uload8 = 3
3052                    closure_uload8(p, c);
3053            }
3054            // load8: INT_MOVE(load8)
3055            c = STATE(lchild).cost_load8 + 0;
3056            if (c < p.cost_load8) {
3057                    p.cost_load8 = (char)(c);
3058                    p.word1 = (p.word1 & 0xFFFFF3FF) | 0xC00; // p.load8 = 3
3059                    closure_load8(p, c);
3060            }
3061            // sload16: INT_MOVE(sload16)
3062            c = STATE(lchild).cost_sload16 + 0;
3063            if (c < p.cost_sload16) {
3064                    p.cost_sload16 = (char)(c);
3065                    p.word1 = (p.word1 & 0xFFFFCFFF) | 0x3000; // p.sload16 = 3
3066                    closure_sload16(p, c);
3067            }
3068            // uload16: INT_MOVE(uload16)
3069            c = STATE(lchild).cost_uload16 + 0;
3070            if (c < p.cost_uload16) {
3071                    p.cost_uload16 = (char)(c);
3072                    p.word1 = (p.word1 & 0xFFFF3FFF) | 0xC000; // p.uload16 = 3
3073                    closure_uload16(p, c);
3074            }
3075            // load16: INT_MOVE(load16)
3076            c = STATE(lchild).cost_load16 + 0;
3077            if (c < p.cost_load16) {
3078                    p.cost_load16 = (char)(c);
3079                    p.word1 = (p.word1 & 0xFFFCFFFF) | 0x30000; // p.load16 = 3
3080                    closure_load16(p, c);
3081            }
3082            // load32: INT_MOVE(load32)
3083            c = STATE(lchild).cost_load32 + 0;
3084            if (c < p.cost_load32) {
3085                    p.cost_load32 = (char)(c);
3086                    p.word1 = (p.word1 & 0xFFE3FFFF) | 0x140000; // p.load32 = 5
3087                    closure_load32(p, c);
3088            }
3089    }
3090    
3091    private void label_LONG_MOVE(BURS_TreeNode p) {
3092            p.word0 = 0;
3093            p.initCost();
3094            BURS_TreeNode lchild;
3095            lchild = p.child1;
3096            label(lchild);
3097            int c;
3098            // load64: LONG_MOVE(load64)
3099            c = STATE(lchild).cost_load64 + 0;
3100            if (c < p.cost_load64) {
3101                    p.cost_load64 = (char)(c);
3102                    p.word1 = (p.word1 & 0xF1FFFFFF) | 0x6000000; // p.load64 = 3
3103            }
3104            // r: LONG_MOVE(r)
3105            c = STATE(lchild).cost_r + 23;
3106            if (c < p.cost_r) {
3107                    p.cost_r = (char)(c);
3108                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6400; // p.r = 100
3109                    closure_r(p, c);
3110            }
3111            if (    // r: LONG_MOVE(LONG_CONSTANT)
3112                    lchild.getOpcode() == LONG_CONSTANT_opcode 
3113            ) {
3114                    c = 21;
3115                    if (c < p.cost_r) {
3116                            p.cost_r = (char)(c);
3117                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6500; // p.r = 101
3118                            closure_r(p, c);
3119                    }
3120            }
3121    }
3122    
3123    private void label_FLOAT_MOVE(BURS_TreeNode p) {
3124            p.word0 = 0;
3125            p.initCost();
3126            BURS_TreeNode lchild;
3127            lchild = p.child1;
3128            label(lchild);
3129            int c;
3130            // r: FLOAT_MOVE(r)
3131            c = STATE(lchild).cost_r + 13;
3132            if (c < p.cost_r) {
3133                    p.cost_r = (char)(c);
3134                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB400; // p.r = 180
3135                    closure_r(p, c);
3136            }
3137    }
3138    
3139    private void label_DOUBLE_MOVE(BURS_TreeNode p) {
3140            p.word0 = 0;
3141            p.initCost();
3142            BURS_TreeNode lchild;
3143            lchild = p.child1;
3144            label(lchild);
3145            int c;
3146            // r: DOUBLE_MOVE(r)
3147            c = STATE(lchild).cost_r + 13;
3148            if (c < p.cost_r) {
3149                    p.cost_r = (char)(c);
3150                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB500; // p.r = 181
3151                    closure_r(p, c);
3152            }
3153    }
3154    
3155    private void label_GUARD_MOVE(BURS_TreeNode p) {
3156            p.word0 = 0;
3157            p.initCost();
3158            // r: GUARD_MOVE
3159            if (11 < p.cost_r) {
3160                    p.cost_r = (char)(11);
3161                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA00; // p.r = 10
3162                    closure_r(p, 11);
3163            }
3164    }
3165    
3166    private void label_GUARD_COMBINE(BURS_TreeNode p) {
3167            p.word0 = 0;
3168            p.initCost();
3169            // r: GUARD_COMBINE
3170            if (11 < p.cost_r) {
3171                    p.cost_r = (char)(11);
3172                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB00; // p.r = 11
3173                    closure_r(p, 11);
3174            }
3175    }
3176    
3177    private void label_INT_ADD(BURS_TreeNode p) {
3178            p.word0 = 0;
3179            p.initCost();
3180            BURS_TreeNode lchild, rchild;
3181            lchild = p.child1;
3182            rchild = p.child2;
3183            label(lchild);
3184            label(rchild);
3185            int c;
3186            if (    // address1reg: INT_ADD(r,INT_CONSTANT)
3187                    rchild.getOpcode() == INT_CONSTANT_opcode 
3188            ) {
3189                    c = STATE(lchild).cost_r + 0;
3190                    if (c < p.cost_address1reg) {
3191                            p.cost_address1reg = (char)(c);
3192                            p.word2 = (p.word2 & 0xFFFFFFF8) | 0x1; // p.address1reg = 1
3193                            closure_address1reg(p, c);
3194                    }
3195            }
3196            // address: INT_ADD(r,r)
3197            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 0;
3198            if (c < p.cost_address) {
3199                    p.cost_address = (char)(c);
3200                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x10; // p.address = 2
3201            }
3202            if (    // address1reg: INT_ADD(address1reg,INT_CONSTANT)
3203                    rchild.getOpcode() == INT_CONSTANT_opcode 
3204            ) {
3205                    c = STATE(lchild).cost_address1reg + 0;
3206                    if (c < p.cost_address1reg) {
3207                            p.cost_address1reg = (char)(c);
3208                            p.word2 = (p.word2 & 0xFFFFFFF8) | 0x3; // p.address1reg = 3
3209                            closure_address1reg(p, c);
3210                    }
3211            }
3212            if (    // address1scaledreg: INT_ADD(address1scaledreg,INT_CONSTANT)
3213                    rchild.getOpcode() == INT_CONSTANT_opcode 
3214            ) {
3215                    c = STATE(lchild).cost_address1scaledreg + 0;
3216                    if (c < p.cost_address1scaledreg) {
3217                            p.cost_address1scaledreg = (char)(c);
3218                            p.word1 = (p.word1 & 0x8FFFFFFF) | 0x30000000; // p.address1scaledreg = 3
3219                            closure_address1scaledreg(p, c);
3220                    }
3221            }
3222            // address: INT_ADD(r,address1scaledreg)
3223            c = STATE(lchild).cost_r + STATE(rchild).cost_address1scaledreg + 0;
3224            if (c < p.cost_address) {
3225                    p.cost_address = (char)(c);
3226                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x18; // p.address = 3
3227            }
3228            // address: INT_ADD(address1scaledreg,r)
3229            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_r + 0;
3230            if (c < p.cost_address) {
3231                    p.cost_address = (char)(c);
3232                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x20; // p.address = 4
3233            }
3234            if (    // address: INT_ADD(address1scaledreg,INT_CONSTANT)
3235                    rchild.getOpcode() == INT_CONSTANT_opcode 
3236            ) {
3237                    c = STATE(lchild).cost_address1scaledreg + 0;
3238                    if (c < p.cost_address) {
3239                            p.cost_address = (char)(c);
3240                            p.word2 = (p.word2 & 0xFFFFFF87) | 0x28; // p.address = 5
3241                    }
3242            }
3243            // address: INT_ADD(address1scaledreg,address1reg)
3244            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_address1reg + 0;
3245            if (c < p.cost_address) {
3246                    p.cost_address = (char)(c);
3247                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x30; // p.address = 6
3248            }
3249            // address: INT_ADD(address1reg,address1scaledreg)
3250            c = STATE(lchild).cost_address1reg + STATE(rchild).cost_address1scaledreg + 0;
3251            if (c < p.cost_address) {
3252                    p.cost_address = (char)(c);
3253                    p.word2 = (p.word2 & 0xFFFFFF87) | 0x38; // p.address = 7
3254            }
3255            // r: INT_ADD(address1scaledreg,r)
3256            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_r + 11;
3257            if (c < p.cost_r) {
3258                    p.cost_r = (char)(c);
3259                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x400; // p.r = 4
3260                    closure_r(p, c);
3261            }
3262            // r: INT_ADD(r,address1scaledreg)
3263            c = STATE(lchild).cost_r + STATE(rchild).cost_address1scaledreg + 11;
3264            if (c < p.cost_r) {
3265                    p.cost_r = (char)(c);
3266                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x500; // p.r = 5
3267                    closure_r(p, c);
3268            }
3269            // r: INT_ADD(address1scaledreg,address1reg)
3270            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_address1reg + 11;
3271            if (c < p.cost_r) {
3272                    p.cost_r = (char)(c);
3273                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x600; // p.r = 6
3274                    closure_r(p, c);
3275            }
3276            // r: INT_ADD(address1reg,address1scaledreg)
3277            c = STATE(lchild).cost_address1reg + STATE(rchild).cost_address1scaledreg + 11;
3278            if (c < p.cost_r) {
3279                    p.cost_r = (char)(c);
3280                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x700; // p.r = 7
3281                    closure_r(p, c);
3282            }
3283            if (    // r: INT_ADD(address,INT_CONSTANT)
3284                    rchild.getOpcode() == INT_CONSTANT_opcode 
3285            ) {
3286                    c = STATE(lchild).cost_address + 11;
3287                    if (c < p.cost_r) {
3288                            p.cost_r = (char)(c);
3289                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x800; // p.r = 8
3290                            closure_r(p, c);
3291                    }
3292            }
3293            // czr: INT_ADD(r,riv)
3294            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 13;
3295            if (c < p.cost_czr) {
3296                    p.cost_czr = (char)(c);
3297                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x10000; // p.czr = 1
3298                    closure_czr(p, c);
3299            }
3300            // r: INT_ADD(r,riv)
3301            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);
3302            if (c < p.cost_r) {
3303                    p.cost_r = (char)(c);
3304                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x2E00; // p.r = 46
3305                    closure_r(p, c);
3306            }
3307            // czr: INT_ADD(riv,load32)
3308            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
3309            if (c < p.cost_czr) {
3310                    p.cost_czr = (char)(c);
3311                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x20000; // p.czr = 2
3312                    closure_czr(p, c);
3313            }
3314            // czr: INT_ADD(load32,riv)
3315            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
3316            if (c < p.cost_czr) {
3317                    p.cost_czr = (char)(c);
3318                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x30000; // p.czr = 3
3319                    closure_czr(p, c);
3320            }
3321    }
3322    
3323    private void label_LONG_ADD(BURS_TreeNode p) {
3324            p.word0 = 0;
3325            p.initCost();
3326            BURS_TreeNode lchild, rchild;
3327            lchild = p.child1;
3328            rchild = p.child2;
3329            label(lchild);
3330            label(rchild);
3331            int c;
3332            // r: LONG_ADD(r,rlv)
3333            c = STATE(lchild).cost_r + STATE(rchild).cost_rlv + 23;
3334            if (c < p.cost_r) {
3335                    p.cost_r = (char)(c);
3336                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4200; // p.r = 66
3337                    closure_r(p, c);
3338            }
3339    }
3340    
3341    private void label_FLOAT_ADD(BURS_TreeNode p) {
3342            p.word0 = 0;
3343            p.initCost();
3344            BURS_TreeNode lchild, rchild;
3345            lchild = p.child1;
3346            rchild = p.child2;
3347            label(lchild);
3348            label(rchild);
3349            int c;
3350            // r: FLOAT_ADD(r,r)
3351            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3352            if (c < p.cost_r) {
3353                    p.cost_r = (char)(c);
3354                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9800; // p.r = 152
3355                    closure_r(p, c);
3356            }
3357            // r: FLOAT_ADD(r,float_load)
3358            c = STATE(lchild).cost_r + STATE(rchild).cost_float_load + 15;
3359            if (c < p.cost_r) {
3360                    p.cost_r = (char)(c);
3361                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9900; // p.r = 153
3362                    closure_r(p, c);
3363            }
3364            // r: FLOAT_ADD(float_load,r)
3365            c = STATE(lchild).cost_float_load + STATE(rchild).cost_r + 15;
3366            if (c < p.cost_r) {
3367                    p.cost_r = (char)(c);
3368                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9A00; // p.r = 154
3369                    closure_r(p, c);
3370            }
3371    }
3372    
3373    private void label_DOUBLE_ADD(BURS_TreeNode p) {
3374            p.word0 = 0;
3375            p.initCost();
3376            BURS_TreeNode lchild, rchild;
3377            lchild = p.child1;
3378            rchild = p.child2;
3379            label(lchild);
3380            label(rchild);
3381            int c;
3382            // r: DOUBLE_ADD(r,r)
3383            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3384            if (c < p.cost_r) {
3385                    p.cost_r = (char)(c);
3386                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9B00; // p.r = 155
3387                    closure_r(p, c);
3388            }
3389            // r: DOUBLE_ADD(r,double_load)
3390            c = STATE(lchild).cost_r + STATE(rchild).cost_double_load + 15;
3391            if (c < p.cost_r) {
3392                    p.cost_r = (char)(c);
3393                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9C00; // p.r = 156
3394                    closure_r(p, c);
3395            }
3396            // r: DOUBLE_ADD(double_load,r)
3397            c = STATE(lchild).cost_double_load + STATE(rchild).cost_r + 15;
3398            if (c < p.cost_r) {
3399                    p.cost_r = (char)(c);
3400                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9D00; // p.r = 157
3401                    closure_r(p, c);
3402            }
3403    }
3404    
3405    private void label_INT_SUB(BURS_TreeNode p) {
3406            p.word0 = 0;
3407            p.initCost();
3408            BURS_TreeNode lchild, rchild;
3409            lchild = p.child1;
3410            rchild = p.child2;
3411            label(lchild);
3412            label(rchild);
3413            int c;
3414            // czr: INT_SUB(riv,r)
3415            c = STATE(lchild).cost_riv + STATE(rchild).cost_r + 13;
3416            if (c < p.cost_czr) {
3417                    p.cost_czr = (char)(c);
3418                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x40000; // p.czr = 4
3419                    closure_czr(p, c);
3420            }
3421            // r: INT_SUB(riv,r)
3422            c = STATE(lchild).cost_riv + STATE(rchild).cost_r + (Binary.getResult(P(p)).similar(Binary.getVal2(P(p))) ? 13-2 : INFINITE);
3423            if (c < p.cost_r) {
3424                    p.cost_r = (char)(c);
3425                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x2F00; // p.r = 47
3426                    closure_r(p, c);
3427            }
3428            // r: INT_SUB(load32,r)
3429            c = STATE(lchild).cost_load32 + STATE(rchild).cost_r + (Binary.getResult(P(p)).similar(Binary.getVal2(P(p))) ? 15-2 : INFINITE);
3430            if (c < p.cost_r) {
3431                    p.cost_r = (char)(c);
3432                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3000; // p.r = 48
3433                    closure_r(p, c);
3434            }
3435            // czr: INT_SUB(riv,load32)
3436            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
3437            if (c < p.cost_czr) {
3438                    p.cost_czr = (char)(c);
3439                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x50000; // p.czr = 5
3440                    closure_czr(p, c);
3441            }
3442            // czr: INT_SUB(load32,riv)
3443            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
3444            if (c < p.cost_czr) {
3445                    p.cost_czr = (char)(c);
3446                    p.word0 = (p.word0 & 0xFFF8FFFF) | 0x60000; // p.czr = 6
3447                    closure_czr(p, c);
3448            }
3449    }
3450    
3451    private void label_LONG_SUB(BURS_TreeNode p) {
3452            p.word0 = 0;
3453            p.initCost();
3454            BURS_TreeNode lchild, rchild;
3455            lchild = p.child1;
3456            rchild = p.child2;
3457            label(lchild);
3458            label(rchild);
3459            int c;
3460            // r: LONG_SUB(rlv,rlv)
3461            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 23;
3462            if (c < p.cost_r) {
3463                    p.cost_r = (char)(c);
3464                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4300; // p.r = 67
3465                    closure_r(p, c);
3466            }
3467    }
3468    
3469    private void label_FLOAT_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: FLOAT_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) | 0x9E00; // p.r = 158
3483                    closure_r(p, c);
3484            }
3485            // r: FLOAT_SUB(r,float_load)
3486            c = STATE(lchild).cost_r + STATE(rchild).cost_float_load + 15;
3487            if (c < p.cost_r) {
3488                    p.cost_r = (char)(c);
3489                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9F00; // p.r = 159
3490                    closure_r(p, c);
3491            }
3492    }
3493    
3494    private void label_DOUBLE_SUB(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: DOUBLE_SUB(r,r)
3504            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3505            if (c < p.cost_r) {
3506                    p.cost_r = (char)(c);
3507                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA000; // p.r = 160
3508                    closure_r(p, c);
3509            }
3510            // r: DOUBLE_SUB(r,double_load)
3511            c = STATE(lchild).cost_r + STATE(rchild).cost_double_load + 15;
3512            if (c < p.cost_r) {
3513                    p.cost_r = (char)(c);
3514                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA100; // p.r = 161
3515                    closure_r(p, c);
3516            }
3517    }
3518    
3519    private void label_INT_MUL(BURS_TreeNode p) {
3520            p.word0 = 0;
3521            p.initCost();
3522            BURS_TreeNode lchild, rchild;
3523            lchild = p.child1;
3524            rchild = p.child2;
3525            label(lchild);
3526            label(rchild);
3527            int c;
3528            // r: INT_MUL(riv,riv)
3529            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 13;
3530            if (c < p.cost_r) {
3531                    p.cost_r = (char)(c);
3532                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3100; // p.r = 49
3533                    closure_r(p, c);
3534            }
3535            // r: INT_MUL(riv,load32)
3536            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
3537            if (c < p.cost_r) {
3538                    p.cost_r = (char)(c);
3539                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3200; // p.r = 50
3540                    closure_r(p, c);
3541            }
3542            // r: INT_MUL(load32,riv)
3543            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
3544            if (c < p.cost_r) {
3545                    p.cost_r = (char)(c);
3546                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3300; // p.r = 51
3547                    closure_r(p, c);
3548            }
3549    }
3550    
3551    private void label_LONG_MUL(BURS_TreeNode p) {
3552            p.word0 = 0;
3553            p.initCost();
3554            BURS_TreeNode lchild, rchild;
3555            lchild = p.child1;
3556            rchild = p.child2;
3557            label(lchild);
3558            label(rchild);
3559            int c;
3560            // r: LONG_MUL(rlv,rlv)
3561            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 23;
3562            if (c < p.cost_r) {
3563                    p.cost_r = (char)(c);
3564                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4400; // p.r = 68
3565                    closure_r(p, c);
3566            }
3567    }
3568    
3569    private void label_FLOAT_MUL(BURS_TreeNode p) {
3570            p.word0 = 0;
3571            p.initCost();
3572            BURS_TreeNode lchild, rchild;
3573            lchild = p.child1;
3574            rchild = p.child2;
3575            label(lchild);
3576            label(rchild);
3577            int c;
3578            // r: FLOAT_MUL(r,r)
3579            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3580            if (c < p.cost_r) {
3581                    p.cost_r = (char)(c);
3582                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA200; // p.r = 162
3583                    closure_r(p, c);
3584            }
3585            // r: FLOAT_MUL(r,float_load)
3586            c = STATE(lchild).cost_r + STATE(rchild).cost_float_load + 15;
3587            if (c < p.cost_r) {
3588                    p.cost_r = (char)(c);
3589                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA300; // p.r = 163
3590                    closure_r(p, c);
3591            }
3592            // r: FLOAT_MUL(float_load,r)
3593            c = STATE(lchild).cost_float_load + STATE(rchild).cost_r + 15;
3594            if (c < p.cost_r) {
3595                    p.cost_r = (char)(c);
3596                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA400; // p.r = 164
3597                    closure_r(p, c);
3598            }
3599    }
3600    
3601    private void label_DOUBLE_MUL(BURS_TreeNode p) {
3602            p.word0 = 0;
3603            p.initCost();
3604            BURS_TreeNode lchild, rchild;
3605            lchild = p.child1;
3606            rchild = p.child2;
3607            label(lchild);
3608            label(rchild);
3609            int c;
3610            // r: DOUBLE_MUL(r,r)
3611            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3612            if (c < p.cost_r) {
3613                    p.cost_r = (char)(c);
3614                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA500; // p.r = 165
3615                    closure_r(p, c);
3616            }
3617            // r: DOUBLE_MUL(r,double_load)
3618            c = STATE(lchild).cost_r + STATE(rchild).cost_double_load + 15;
3619            if (c < p.cost_r) {
3620                    p.cost_r = (char)(c);
3621                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA600; // p.r = 166
3622                    closure_r(p, c);
3623            }
3624            // r: DOUBLE_MUL(double_load,r)
3625            c = STATE(lchild).cost_double_load + STATE(rchild).cost_r + 15;
3626            if (c < p.cost_r) {
3627                    p.cost_r = (char)(c);
3628                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA700; // p.r = 167
3629                    closure_r(p, c);
3630            }
3631    }
3632    
3633    private void label_INT_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: INT_DIV(riv,riv)
3643            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 52;
3644            if (c < p.cost_r) {
3645                    p.cost_r = (char)(c);
3646                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3400; // p.r = 52
3647                    closure_r(p, c);
3648            }
3649            // r: INT_DIV(riv,load32)
3650            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 55;
3651            if (c < p.cost_r) {
3652                    p.cost_r = (char)(c);
3653                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3500; // p.r = 53
3654                    closure_r(p, c);
3655            }
3656    }
3657    
3658    private void label_FLOAT_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: FLOAT_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) | 0xA800; // p.r = 168
3672                    closure_r(p, c);
3673            }
3674            // r: FLOAT_DIV(r,float_load)
3675            c = STATE(lchild).cost_r + STATE(rchild).cost_float_load + 15;
3676            if (c < p.cost_r) {
3677                    p.cost_r = (char)(c);
3678                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xA900; // p.r = 169
3679                    closure_r(p, c);
3680            }
3681    }
3682    
3683    private void label_DOUBLE_DIV(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: DOUBLE_DIV(r,r)
3693            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3694            if (c < p.cost_r) {
3695                    p.cost_r = (char)(c);
3696                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAA00; // p.r = 170
3697                    closure_r(p, c);
3698            }
3699            // r: DOUBLE_DIV(r,double_load)
3700            c = STATE(lchild).cost_r + STATE(rchild).cost_double_load + 15;
3701            if (c < p.cost_r) {
3702                    p.cost_r = (char)(c);
3703                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAB00; // p.r = 171
3704                    closure_r(p, c);
3705            }
3706    }
3707    
3708    private void label_INT_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: INT_REM(riv,riv)
3718            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 52;
3719            if (c < p.cost_r) {
3720                    p.cost_r = (char)(c);
3721                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3600; // p.r = 54
3722                    closure_r(p, c);
3723            }
3724            // r: INT_REM(riv,load32)
3725            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 55;
3726            if (c < p.cost_r) {
3727                    p.cost_r = (char)(c);
3728                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x3700; // p.r = 55
3729                    closure_r(p, c);
3730            }
3731    }
3732    
3733    private void label_FLOAT_REM(BURS_TreeNode p) {
3734            p.word0 = 0;
3735            p.initCost();
3736            BURS_TreeNode lchild, rchild;
3737            lchild = p.child1;
3738            rchild = p.child2;
3739            label(lchild);
3740            label(rchild);
3741            int c;
3742            // r: FLOAT_REM(r,r)
3743            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3744            if (c < p.cost_r) {
3745                    p.cost_r = (char)(c);
3746                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB000; // p.r = 176
3747                    closure_r(p, c);
3748            }
3749    }
3750    
3751    private void label_DOUBLE_REM(BURS_TreeNode p) {
3752            p.word0 = 0;
3753            p.initCost();
3754            BURS_TreeNode lchild, rchild;
3755            lchild = p.child1;
3756            rchild = p.child2;
3757            label(lchild);
3758            label(rchild);
3759            int c;
3760            // r: DOUBLE_REM(r,r)
3761            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 13;
3762            if (c < p.cost_r) {
3763                    p.cost_r = (char)(c);
3764                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB100; // p.r = 177
3765                    closure_r(p, c);
3766            }
3767    }
3768    
3769    private void label_INT_NEG(BURS_TreeNode p) {
3770            p.word0 = 0;
3771            p.initCost();
3772            BURS_TreeNode lchild;
3773            lchild = p.child1;
3774            label(lchild);
3775            int c;
3776            // szpr: INT_NEG(r)
3777            c = STATE(lchild).cost_r + 13;
3778            if (c < p.cost_szpr) {
3779                    p.cost_szpr = (char)(c);
3780                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x200000; // p.szpr = 1
3781                    closure_szpr(p, c);
3782            }
3783    }
3784    
3785    private void label_LONG_NEG(BURS_TreeNode p) {
3786            p.word0 = 0;
3787            p.initCost();
3788            BURS_TreeNode lchild;
3789            lchild = p.child1;
3790            label(lchild);
3791            int c;
3792            // r: LONG_NEG(r)
3793            c = STATE(lchild).cost_r + 23;
3794            if (c < p.cost_r) {
3795                    p.cost_r = (char)(c);
3796                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4500; // p.r = 69
3797                    closure_r(p, c);
3798            }
3799    }
3800    
3801    private void label_FLOAT_NEG(BURS_TreeNode p) {
3802            p.word0 = 0;
3803            p.initCost();
3804            BURS_TreeNode lchild;
3805            lchild = p.child1;
3806            label(lchild);
3807            int c;
3808            // r: FLOAT_NEG(r)
3809            c = STATE(lchild).cost_r + 26;
3810            if (c < p.cost_r) {
3811                    p.cost_r = (char)(c);
3812                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAC00; // p.r = 172
3813                    closure_r(p, c);
3814            }
3815    }
3816    
3817    private void label_DOUBLE_NEG(BURS_TreeNode p) {
3818            p.word0 = 0;
3819            p.initCost();
3820            BURS_TreeNode lchild;
3821            lchild = p.child1;
3822            label(lchild);
3823            int c;
3824            // r: DOUBLE_NEG(r)
3825            c = STATE(lchild).cost_r + 26;
3826            if (c < p.cost_r) {
3827                    p.cost_r = (char)(c);
3828                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAD00; // p.r = 173
3829                    closure_r(p, c);
3830            }
3831    }
3832    
3833    private void label_FLOAT_SQRT(BURS_TreeNode p) {
3834            p.word0 = 0;
3835            p.initCost();
3836            BURS_TreeNode lchild;
3837            lchild = p.child1;
3838            label(lchild);
3839            int c;
3840            // r: FLOAT_SQRT(r)
3841            c = STATE(lchild).cost_r + 13;
3842            if (c < p.cost_r) {
3843                    p.cost_r = (char)(c);
3844                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAE00; // p.r = 174
3845                    closure_r(p, c);
3846            }
3847    }
3848    
3849    private void label_DOUBLE_SQRT(BURS_TreeNode p) {
3850            p.word0 = 0;
3851            p.initCost();
3852            BURS_TreeNode lchild;
3853            lchild = p.child1;
3854            label(lchild);
3855            int c;
3856            // r: DOUBLE_SQRT(r)
3857            c = STATE(lchild).cost_r + 13;
3858            if (c < p.cost_r) {
3859                    p.cost_r = (char)(c);
3860                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xAF00; // p.r = 175
3861                    closure_r(p, c);
3862            }
3863    }
3864    
3865    private void label_INT_SHL(BURS_TreeNode p) {
3866            p.word0 = 0;
3867            p.initCost();
3868            BURS_TreeNode lchild, rchild;
3869            lchild = p.child1;
3870            rchild = p.child2;
3871            label(lchild);
3872            label(rchild);
3873            int c;
3874            if (    // address1scaledreg: INT_SHL(r,INT_CONSTANT)
3875                    rchild.getOpcode() == INT_CONSTANT_opcode 
3876            ) {
3877                    c = STATE(lchild).cost_r + LEA_SHIFT(Binary.getVal2(P(p)), 0);
3878                    if (c < p.cost_address1scaledreg) {
3879                            p.cost_address1scaledreg = (char)(c);
3880                            p.word1 = (p.word1 & 0x8FFFFFFF) | 0x20000000; // p.address1scaledreg = 2
3881                            closure_address1scaledreg(p, c);
3882                    }
3883            }
3884            if (    // szpr: INT_SHL(riv,INT_AND(r,INT_CONSTANT))
3885                    rchild.getOpcode() == INT_AND_opcode && 
3886                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
3887            ) {
3888                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_r + (VRR(p) == 31 ? 23 : INFINITE);
3889                    if (c < p.cost_szpr) {
3890                            p.cost_szpr = (char)(c);
3891                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0x400000; // p.szpr = 2
3892                            closure_szpr(p, c);
3893                    }
3894            }
3895            // szpr: INT_SHL(riv,riv)
3896            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 23;
3897            if (c < p.cost_szpr) {
3898                    p.cost_szpr = (char)(c);
3899                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x600000; // p.szpr = 3
3900                    closure_szpr(p, c);
3901            }
3902            if (    // szpr: INT_SHL(r,INT_CONSTANT)
3903                    rchild.getOpcode() == INT_CONSTANT_opcode 
3904            ) {
3905                    c = STATE(lchild).cost_r + 13;
3906                    if (c < p.cost_szpr) {
3907                            p.cost_szpr = (char)(c);
3908                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0x800000; // p.szpr = 4
3909                            closure_szpr(p, c);
3910                    }
3911            }
3912            if (    // r: INT_SHL(r,INT_CONSTANT)
3913                    rchild.getOpcode() == INT_CONSTANT_opcode 
3914            ) {
3915                    c = STATE(lchild).cost_r + (!Binary.getResult(P(p)).similar(Binary.getVal1(P(p))) && (Binary.getVal2(P(p)).asIntConstant().value & 0x1f) <= 3 ? 11 : INFINITE);
3916                    if (c < p.cost_r) {
3917                            p.cost_r = (char)(c);
3918                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3800; // p.r = 56
3919                            closure_r(p, c);
3920                    }
3921            }
3922            if (    // szpr: INT_SHL(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
3923                    lchild.getOpcode() == INT_SHR_opcode && 
3924                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
3925                    rchild.getOpcode() == INT_CONSTANT_opcode 
3926            ) {
3927                    c = STATE(lchild.child1).cost_r + ((VR(p) == VLR(p)) ? 23 : INFINITE);
3928                    if (c < p.cost_szpr) {
3929                            p.cost_szpr = (char)(c);
3930                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0xA00000; // p.szpr = 5
3931                            closure_szpr(p, c);
3932                    }
3933            }
3934    }
3935    
3936    private void label_LONG_SHL(BURS_TreeNode p) {
3937            p.word0 = 0;
3938            p.initCost();
3939            BURS_TreeNode lchild, rchild;
3940            lchild = p.child1;
3941            rchild = p.child2;
3942            label(lchild);
3943            label(rchild);
3944            int c;
3945            // r: LONG_SHL(rlv,riv)
3946            c = STATE(lchild).cost_rlv + STATE(rchild).cost_riv + 20;
3947            if (c < p.cost_r) {
3948                    p.cost_r = (char)(c);
3949                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4600; // p.r = 70
3950                    closure_r(p, c);
3951            }
3952            if (    // r: LONG_SHL(rlv,INT_AND(riv,INT_CONSTANT))
3953                    rchild.getOpcode() == INT_AND_opcode && 
3954                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
3955            ) {
3956                    c = STATE(lchild).cost_rlv + STATE(rchild.child1).cost_riv + 20;
3957                    if (c < p.cost_r) {
3958                            p.cost_r = (char)(c);
3959                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x4700; // p.r = 71
3960                            closure_r(p, c);
3961                    }
3962            }
3963            if (    // r: LONG_SHL(INT_2LONG(r),INT_CONSTANT)
3964                    lchild.getOpcode() == INT_2LONG_opcode && 
3965                    rchild.getOpcode() == INT_CONSTANT_opcode 
3966            ) {
3967                    c = STATE(lchild.child1).cost_r + (VR(p) == 32 ? 23 : INFINITE);
3968                    if (c < p.cost_r) {
3969                            p.cost_r = (char)(c);
3970                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x5900; // p.r = 89
3971                            closure_r(p, c);
3972                    }
3973            }
3974            if (    // r: LONG_SHL(INT_2LONG(load64),INT_CONSTANT)
3975                    lchild.getOpcode() == INT_2LONG_opcode && 
3976                    rchild.getOpcode() == INT_CONSTANT_opcode 
3977            ) {
3978                    c = STATE(lchild.child1).cost_load64 + (VR(p) == 32 ? 23 : INFINITE);
3979                    if (c < p.cost_r) {
3980                            p.cost_r = (char)(c);
3981                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x5A00; // p.r = 90
3982                            closure_r(p, c);
3983                    }
3984            }
3985    }
3986    
3987    private void label_INT_SHR(BURS_TreeNode p) {
3988            p.word0 = 0;
3989            p.initCost();
3990            BURS_TreeNode lchild, rchild;
3991            lchild = p.child1;
3992            rchild = p.child2;
3993            label(lchild);
3994            label(rchild);
3995            int c;
3996            if (    // szpr: INT_SHR(riv,INT_AND(r,INT_CONSTANT))
3997                    rchild.getOpcode() == INT_AND_opcode && 
3998                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
3999            ) {
4000                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_r + (VRR(p) == 31 ? 23 : INFINITE);
4001                    if (c < p.cost_szpr) {
4002                            p.cost_szpr = (char)(c);
4003                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0xC00000; // p.szpr = 6
4004                            closure_szpr(p, c);
4005                    }
4006            }
4007            // szpr: INT_SHR(riv,riv)
4008            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 23;
4009            if (c < p.cost_szpr) {
4010                    p.cost_szpr = (char)(c);
4011                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0xE00000; // p.szpr = 7
4012                    closure_szpr(p, c);
4013            }
4014            if (    // szpr: INT_SHR(riv,INT_CONSTANT)
4015                    rchild.getOpcode() == INT_CONSTANT_opcode 
4016            ) {
4017                    c = STATE(lchild).cost_riv + 13;
4018                    if (c < p.cost_szpr) {
4019                            p.cost_szpr = (char)(c);
4020                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1000000; // p.szpr = 8
4021                            closure_szpr(p, c);
4022                    }
4023            }
4024    }
4025    
4026    private void label_LONG_SHR(BURS_TreeNode p) {
4027            p.word0 = 0;
4028            p.initCost();
4029            BURS_TreeNode lchild, rchild;
4030            lchild = p.child1;
4031            rchild = p.child2;
4032            label(lchild);
4033            label(rchild);
4034            int c;
4035            // r: LONG_SHR(rlv,riv)
4036            c = STATE(lchild).cost_rlv + STATE(rchild).cost_riv + 20;
4037            if (c < p.cost_r) {
4038                    p.cost_r = (char)(c);
4039                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4800; // p.r = 72
4040                    closure_r(p, c);
4041            }
4042            if (    // r: LONG_SHR(rlv,INT_AND(riv,INT_CONSTANT))
4043                    rchild.getOpcode() == INT_AND_opcode && 
4044                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4045            ) {
4046                    c = STATE(lchild).cost_rlv + STATE(rchild.child1).cost_riv + 20;
4047                    if (c < p.cost_r) {
4048                            p.cost_r = (char)(c);
4049                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x4900; // p.r = 73
4050                            closure_r(p, c);
4051                    }
4052            }
4053    }
4054    
4055    private void label_INT_USHR(BURS_TreeNode p) {
4056            p.word0 = 0;
4057            p.initCost();
4058            BURS_TreeNode lchild, rchild;
4059            lchild = p.child1;
4060            rchild = p.child2;
4061            label(lchild);
4062            label(rchild);
4063            int c;
4064            if (    // szpr: INT_USHR(riv,INT_AND(r,INT_CONSTANT))
4065                    rchild.getOpcode() == INT_AND_opcode && 
4066                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4067            ) {
4068                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_r + (VRR(p) == 31 ? 23 : INFINITE);
4069                    if (c < p.cost_szpr) {
4070                            p.cost_szpr = (char)(c);
4071                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1200000; // p.szpr = 9
4072                            closure_szpr(p, c);
4073                    }
4074            }
4075            // szpr: INT_USHR(riv,riv)
4076            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 23;
4077            if (c < p.cost_szpr) {
4078                    p.cost_szpr = (char)(c);
4079                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1400000; // p.szpr = 10
4080                    closure_szpr(p, c);
4081            }
4082            if (    // szpr: INT_USHR(riv,INT_CONSTANT)
4083                    rchild.getOpcode() == INT_CONSTANT_opcode 
4084            ) {
4085                    c = STATE(lchild).cost_riv + 13;
4086                    if (c < p.cost_szpr) {
4087                            p.cost_szpr = (char)(c);
4088                            p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1600000; // p.szpr = 11
4089                            closure_szpr(p, c);
4090                    }
4091            }
4092            if (    // r: INT_USHR(INT_SHL(load8_16_32,INT_CONSTANT),INT_CONSTANT)
4093                    lchild.getOpcode() == INT_SHL_opcode && 
4094                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4095                    rchild.getOpcode() == INT_CONSTANT_opcode 
4096            ) {
4097                    c = STATE(lchild.child1).cost_load8_16_32 + (VR(p) == 24 && VLLR(p) == 24 ? 15 : INFINITE);
4098                    if (c < p.cost_r) {
4099                            p.cost_r = (char)(c);
4100                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6D00; // p.r = 109
4101                            closure_r(p, c);
4102                    }
4103            }
4104            if (    // r: INT_USHR(INT_SHL(load16_32,INT_CONSTANT),INT_CONSTANT)
4105                    lchild.getOpcode() == INT_SHL_opcode && 
4106                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4107                    rchild.getOpcode() == INT_CONSTANT_opcode 
4108            ) {
4109                    c = STATE(lchild.child1).cost_load16_32 + (VR(p) == 16 && VLR(p) == 16 ? 15 : INFINITE);
4110                    if (c < p.cost_r) {
4111                            p.cost_r = (char)(c);
4112                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x7500; // p.r = 117
4113                            closure_r(p, c);
4114                    }
4115            }
4116    }
4117    
4118    private void label_LONG_USHR(BURS_TreeNode p) {
4119            p.word0 = 0;
4120            p.initCost();
4121            BURS_TreeNode lchild, rchild;
4122            lchild = p.child1;
4123            rchild = p.child2;
4124            label(lchild);
4125            label(rchild);
4126            int c;
4127            // r: LONG_USHR(rlv,riv)
4128            c = STATE(lchild).cost_rlv + STATE(rchild).cost_riv + 20;
4129            if (c < p.cost_r) {
4130                    p.cost_r = (char)(c);
4131                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4A00; // p.r = 74
4132                    closure_r(p, c);
4133            }
4134            if (    // r: LONG_USHR(rlv,INT_AND(riv,INT_CONSTANT))
4135                    rchild.getOpcode() == INT_AND_opcode && 
4136                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4137            ) {
4138                    c = STATE(lchild).cost_rlv + STATE(rchild.child1).cost_riv + 20;
4139                    if (c < p.cost_r) {
4140                            p.cost_r = (char)(c);
4141                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x4B00; // p.r = 75
4142                            closure_r(p, c);
4143                    }
4144            }
4145    }
4146    
4147    private void label_INT_AND(BURS_TreeNode p) {
4148            p.word0 = 0;
4149            p.initCost();
4150            BURS_TreeNode lchild, rchild;
4151            lchild = p.child1;
4152            rchild = p.child2;
4153            label(lchild);
4154            label(rchild);
4155            int c;
4156            // szpr: INT_AND(riv,riv)
4157            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 13;
4158            if (c < p.cost_szpr) {
4159                    p.cost_szpr = (char)(c);
4160                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1800000; // p.szpr = 12
4161                    closure_szpr(p, c);
4162            }
4163            // szp: INT_AND(r,riv)
4164            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 11;
4165            if (c < p.cost_szp) {
4166                    p.cost_szp = (char)(c);
4167                    p.word0 = (p.word0 & 0xE3FFFFFF) | 0x8000000; // p.szp = 2
4168            }
4169            // szpr: INT_AND(riv,load32)
4170            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
4171            if (c < p.cost_szpr) {
4172                    p.cost_szpr = (char)(c);
4173                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1A00000; // p.szpr = 13
4174                    closure_szpr(p, c);
4175            }
4176            // szpr: INT_AND(load32,riv)
4177            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
4178            if (c < p.cost_szpr) {
4179                    p.cost_szpr = (char)(c);
4180                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1C00000; // p.szpr = 14
4181                    closure_szpr(p, c);
4182            }
4183            // szp: INT_AND(load8_16_32,riv)
4184            c = STATE(lchild).cost_load8_16_32 + STATE(rchild).cost_riv + 11;
4185            if (c < p.cost_szp) {
4186                    p.cost_szp = (char)(c);
4187                    p.word0 = (p.word0 & 0xE3FFFFFF) | 0xC000000; // p.szp = 3
4188            }
4189            // szp: INT_AND(riv,load8_16_32)
4190            c = STATE(lchild).cost_riv + STATE(rchild).cost_load8_16_32 + 11;
4191            if (c < p.cost_szp) {
4192                    p.cost_szp = (char)(c);
4193                    p.word0 = (p.word0 & 0xE3FFFFFF) | 0x10000000; // p.szp = 4
4194            }
4195            if (    // uload8: INT_AND(load8_16_32,INT_CONSTANT)
4196                    rchild.getOpcode() == INT_CONSTANT_opcode 
4197            ) {
4198                    c = STATE(lchild).cost_load8_16_32 + (VR(p) == 0xff ? 0 : INFINITE);
4199                    if (c < p.cost_uload8) {
4200                            p.cost_uload8 = (char)(c);
4201                            p.word1 = (p.word1 & 0xFFFFFC7F) | 0x200; // p.uload8 = 4
4202                            closure_uload8(p, c);
4203                    }
4204            }
4205            if (    // r: INT_AND(load8_16_32,INT_CONSTANT)
4206                    rchild.getOpcode() == INT_CONSTANT_opcode 
4207            ) {
4208                    c = STATE(lchild).cost_load8_16_32 + (VR(p) == 0xff ? 15 : INFINITE);
4209                    if (c < p.cost_r) {
4210                            p.cost_r = (char)(c);
4211                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6B00; // p.r = 107
4212                            closure_r(p, c);
4213                    }
4214            }
4215            if (    // r: INT_AND(load16_32,INT_CONSTANT)
4216                    rchild.getOpcode() == INT_CONSTANT_opcode 
4217            ) {
4218                    c = STATE(lchild).cost_load16_32 + (VR(p) == 0xffff ? 15 : INFINITE);
4219                    if (c < p.cost_r) {
4220                            p.cost_r = (char)(c);
4221                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x7200; // p.r = 114
4222                            closure_r(p, c);
4223                    }
4224            }
4225            if (    // bittest: INT_AND(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
4226                    lchild.getOpcode() == INT_USHR_opcode && 
4227                    lchild.child2.getOpcode() == INT_AND_opcode && 
4228                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4229                    rchild.getOpcode() == INT_CONSTANT_opcode 
4230            ) {
4231                    c = STATE(lchild.child1).cost_r + STATE(lchild.child2.child1).cost_r + ((VR(p) == 1) && (VLRR(p) == 31) ? 13:INFINITE);
4232                    if (c < p.cost_bittest) {
4233                            p.cost_bittest = (char)(c);
4234                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x800; // p.bittest = 1
4235                    }
4236            }
4237            if (    // bittest: INT_AND(INT_USHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
4238                    lchild.getOpcode() == INT_USHR_opcode && 
4239                    lchild.child2.getOpcode() == INT_AND_opcode && 
4240                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4241                    rchild.getOpcode() == INT_CONSTANT_opcode 
4242            ) {
4243                    c = STATE(lchild.child1).cost_load32 + STATE(lchild.child2.child1).cost_r + (VR(p) == 1 ? 31:INFINITE);
4244                    if (c < p.cost_bittest) {
4245                            p.cost_bittest = (char)(c);
4246                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x1000; // p.bittest = 2
4247                    }
4248            }
4249            if (    // bittest: INT_AND(INT_USHR(r,INT_CONSTANT),INT_CONSTANT)
4250                    lchild.getOpcode() == INT_USHR_opcode && 
4251                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4252                    rchild.getOpcode() == INT_CONSTANT_opcode 
4253            ) {
4254                    c = STATE(lchild.child1).cost_r + ((VR(p) == 1) && (VLR(p) <= 31) ? 13:INFINITE);
4255                    if (c < p.cost_bittest) {
4256                            p.cost_bittest = (char)(c);
4257                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x1800; // p.bittest = 3
4258                    }
4259            }
4260            if (    // bittest: INT_AND(INT_SHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
4261                    lchild.getOpcode() == INT_SHR_opcode && 
4262                    lchild.child2.getOpcode() == INT_AND_opcode && 
4263                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4264                    rchild.getOpcode() == INT_CONSTANT_opcode 
4265            ) {
4266                    c = STATE(lchild.child1).cost_r + STATE(lchild.child2.child1).cost_r + ((VR(p) == 1) && (VLRR(p) == 31) ? 13:INFINITE);
4267                    if (c < p.cost_bittest) {
4268                            p.cost_bittest = (char)(c);
4269                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x2000; // p.bittest = 4
4270                    }
4271            }
4272            if (    // bittest: INT_AND(INT_SHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
4273                    lchild.getOpcode() == INT_SHR_opcode && 
4274                    lchild.child2.getOpcode() == INT_AND_opcode && 
4275                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4276                    rchild.getOpcode() == INT_CONSTANT_opcode 
4277            ) {
4278                    c = STATE(lchild.child1).cost_load32 + STATE(lchild.child2.child1).cost_r + (VR(p) == 1 ? 31:INFINITE);
4279                    if (c < p.cost_bittest) {
4280                            p.cost_bittest = (char)(c);
4281                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x2800; // p.bittest = 5
4282                    }
4283            }
4284            if (    // bittest: INT_AND(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
4285                    lchild.getOpcode() == INT_SHR_opcode && 
4286                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4287                    rchild.getOpcode() == INT_CONSTANT_opcode 
4288            ) {
4289                    c = STATE(lchild.child1).cost_r + ((VR(p) == 1) && (VLR(p) <= 31) ? 13:INFINITE);
4290                    if (c < p.cost_bittest) {
4291                            p.cost_bittest = (char)(c);
4292                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x3000; // p.bittest = 6
4293                    }
4294            }
4295            if (    // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(riv,INT_CONSTANT)),r)
4296                    lchild.getOpcode() == INT_SHL_opcode && 
4297                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
4298                    lchild.child2.getOpcode() == INT_AND_opcode && 
4299                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4300            ) {
4301                    c = STATE(lchild.child2.child1).cost_riv + STATE(rchild).cost_r + ((VLL(p) == 1) && (VLRR(p) == 31)? 13:INFINITE);
4302                    if (c < p.cost_bittest) {
4303                            p.cost_bittest = (char)(c);
4304                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x3800; // p.bittest = 7
4305                    }
4306            }
4307            if (    // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)),load32)
4308                    lchild.getOpcode() == INT_SHL_opcode && 
4309                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
4310                    lchild.child2.getOpcode() == INT_AND_opcode && 
4311                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4312            ) {
4313                    c = STATE(lchild.child2.child1).cost_r + STATE(rchild).cost_load32 + (VLL(p) == 1 ? 31:INFINITE);
4314                    if (c < p.cost_bittest) {
4315                            p.cost_bittest = (char)(c);
4316                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x4000; // p.bittest = 8
4317                    }
4318            }
4319            if (    // bittest: INT_AND(r,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
4320                    rchild.getOpcode() == INT_SHL_opcode && 
4321                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
4322                    rchild.child2.getOpcode() == INT_AND_opcode && 
4323                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4324            ) {
4325                    c = STATE(lchild).cost_r + STATE(rchild.child2.child1).cost_r + ((VRL(p) == 1) && (VRRR(p) == 31) ? 13:INFINITE);
4326                    if (c < p.cost_bittest) {
4327                            p.cost_bittest = (char)(c);
4328                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x4800; // p.bittest = 9
4329                    }
4330            }
4331            if (    // bittest: INT_AND(load32,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
4332                    rchild.getOpcode() == INT_SHL_opcode && 
4333                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
4334                    rchild.child2.getOpcode() == INT_AND_opcode && 
4335                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4336            ) {
4337                    c = STATE(lchild).cost_load32 + STATE(rchild.child2.child1).cost_r + (VRL(p) == 1 ? 31:INFINITE);
4338                    if (c < p.cost_bittest) {
4339                            p.cost_bittest = (char)(c);
4340                            p.word2 = (p.word2 & 0xFFFF87FF) | 0x5000; // p.bittest = 10
4341                    }
4342            }
4343    }
4344    
4345    private void label_LONG_AND(BURS_TreeNode p) {
4346            p.word0 = 0;
4347            p.initCost();
4348            BURS_TreeNode lchild, rchild;
4349            lchild = p.child1;
4350            rchild = p.child2;
4351            label(lchild);
4352            label(rchild);
4353            int c;
4354            // r: LONG_AND(rlv,rlv)
4355            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 23;
4356            if (c < p.cost_r) {
4357                    p.cost_r = (char)(c);
4358                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4C00; // p.r = 76
4359                    closure_r(p, c);
4360            }
4361            if (    // r: LONG_AND(INT_2LONG(r),LONG_CONSTANT)
4362                    lchild.getOpcode() == INT_2LONG_opcode && 
4363                    rchild.getOpcode() == LONG_CONSTANT_opcode 
4364            ) {
4365                    c = STATE(lchild.child1).cost_r + ((Binary.getVal2(P(p)).asLongConstant().upper32() == 0) && (Binary.getVal2(P(p)).asLongConstant().lower32() == -1)? 23 : INFINITE);
4366                    if (c < p.cost_r) {
4367                            p.cost_r = (char)(c);
4368                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x5700; // p.r = 87
4369                            closure_r(p, c);
4370                    }
4371            }
4372            if (    // r: LONG_AND(INT_2LONG(load32),LONG_CONSTANT)
4373                    lchild.getOpcode() == INT_2LONG_opcode && 
4374                    rchild.getOpcode() == LONG_CONSTANT_opcode 
4375            ) {
4376                    c = STATE(lchild.child1).cost_load32 + ((Binary.getVal2(P(p)).asLongConstant().upper32() == 0) && (Binary.getVal2(P(p)).asLongConstant().lower32() == -1)? 28 : INFINITE);
4377                    if (c < p.cost_r) {
4378                            p.cost_r = (char)(c);
4379                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x5800; // p.r = 88
4380                            closure_r(p, c);
4381                    }
4382            }
4383    }
4384    
4385    private void label_INT_OR(BURS_TreeNode p) {
4386            p.word0 = 0;
4387            p.initCost();
4388            BURS_TreeNode lchild, rchild;
4389            lchild = p.child1;
4390            rchild = p.child2;
4391            label(lchild);
4392            label(rchild);
4393            int c;
4394            if (    // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
4395                    lchild.getOpcode() == INT_SHL_opcode && 
4396                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4397                    rchild.getOpcode() == INT_USHR_opcode && 
4398                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4399            ) {
4400                    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);
4401                    if (c < p.cost_r) {
4402                            p.cost_r = (char)(c);
4403                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3900; // p.r = 57
4404                            closure_r(p, c);
4405                    }
4406            }
4407            if (    // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
4408                    lchild.getOpcode() == INT_USHR_opcode && 
4409                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4410                    rchild.getOpcode() == INT_SHL_opcode && 
4411                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4412            ) {
4413                    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);
4414                    if (c < p.cost_r) {
4415                            p.cost_r = (char)(c);
4416                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3A00; // p.r = 58
4417                            closure_r(p, c);
4418                    }
4419            }
4420            if (    // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
4421                    lchild.getOpcode() == INT_SHL_opcode && 
4422                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4423                    rchild.getOpcode() == INT_USHR_opcode && 
4424                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4425            ) {
4426                    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);
4427                    if (c < p.cost_r) {
4428                            p.cost_r = (char)(c);
4429                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3B00; // p.r = 59
4430                            closure_r(p, c);
4431                    }
4432            }
4433            if (    // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
4434                    lchild.getOpcode() == INT_USHR_opcode && 
4435                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
4436                    rchild.getOpcode() == INT_SHL_opcode && 
4437                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
4438            ) {
4439                    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);
4440                    if (c < p.cost_r) {
4441                            p.cost_r = (char)(c);
4442                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3C00; // p.r = 60
4443                            closure_r(p, c);
4444                    }
4445            }
4446            if (    // r: INT_OR(INT_SHL(r,INT_AND(r,INT_CONSTANT)),INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
4447                    lchild.getOpcode() == INT_SHL_opcode && 
4448                    lchild.child2.getOpcode() == INT_AND_opcode && 
4449                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4450                    rchild.getOpcode() == INT_USHR_opcode && 
4451                    rchild.child2.getOpcode() == INT_AND_opcode && 
4452                    rchild.child2.child1.getOpcode() == INT_NEG_opcode && 
4453                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4454            ) {
4455                    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);
4456                    if (c < p.cost_r) {
4457                            p.cost_r = (char)(c);
4458                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3D00; // p.r = 61
4459                            closure_r(p, c);
4460                    }
4461            }
4462            if (    // r: INT_OR(INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_SHL(r,INT_AND(r,INT_CONSTANT)))
4463                    lchild.getOpcode() == INT_USHR_opcode && 
4464                    lchild.child2.getOpcode() == INT_AND_opcode && 
4465                    lchild.child2.child1.getOpcode() == INT_NEG_opcode && 
4466                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4467                    rchild.getOpcode() == INT_SHL_opcode && 
4468                    rchild.child2.getOpcode() == INT_AND_opcode && 
4469                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4470            ) {
4471                    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);
4472                    if (c < p.cost_r) {
4473                            p.cost_r = (char)(c);
4474                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3E00; // p.r = 62
4475                            closure_r(p, c);
4476                    }
4477            }
4478            if (    // r: INT_OR(INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_USHR(r,INT_AND(r,INT_CONSTANT)))
4479                    lchild.getOpcode() == INT_SHL_opcode && 
4480                    lchild.child2.getOpcode() == INT_AND_opcode && 
4481                    lchild.child2.child1.getOpcode() == INT_NEG_opcode && 
4482                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4483                    rchild.getOpcode() == INT_USHR_opcode && 
4484                    rchild.child2.getOpcode() == INT_AND_opcode && 
4485                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4486            ) {
4487                    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);
4488                    if (c < p.cost_r) {
4489                            p.cost_r = (char)(c);
4490                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x3F00; // p.r = 63
4491                            closure_r(p, c);
4492                    }
4493            }
4494            if (    // r: INT_OR(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
4495                    lchild.getOpcode() == INT_USHR_opcode && 
4496                    lchild.child2.getOpcode() == INT_AND_opcode && 
4497                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
4498                    rchild.getOpcode() == INT_SHL_opcode && 
4499                    rchild.child2.getOpcode() == INT_AND_opcode && 
4500                    rchild.child2.child1.getOpcode() == INT_NEG_opcode && 
4501                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
4502            ) {
4503                    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);
4504                    if (c < p.cost_r) {
4505                            p.cost_r = (char)(c);
4506                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x4000; // p.r = 64
4507                            closure_r(p, c);
4508                    }
4509            }
4510            // szpr: INT_OR(riv,riv)
4511            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 13;
4512            if (c < p.cost_szpr) {
4513                    p.cost_szpr = (char)(c);
4514                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x1E00000; // p.szpr = 15
4515                    closure_szpr(p, c);
4516            }
4517            // szpr: INT_OR(riv,load32)
4518            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
4519            if (c < p.cost_szpr) {
4520                    p.cost_szpr = (char)(c);
4521                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2000000; // p.szpr = 16
4522                    closure_szpr(p, c);
4523            }
4524            // szpr: INT_OR(load32,riv)
4525            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
4526            if (c < p.cost_szpr) {
4527                    p.cost_szpr = (char)(c);
4528                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2200000; // p.szpr = 17
4529                    closure_szpr(p, c);
4530            }
4531    }
4532    
4533    private void label_LONG_OR(BURS_TreeNode p) {
4534            p.word0 = 0;
4535            p.initCost();
4536            BURS_TreeNode lchild, rchild;
4537            lchild = p.child1;
4538            rchild = p.child2;
4539            label(lchild);
4540            label(rchild);
4541            int c;
4542            // r: LONG_OR(rlv,rlv)
4543            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 23;
4544            if (c < p.cost_r) {
4545                    p.cost_r = (char)(c);
4546                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4D00; // p.r = 77
4547                    closure_r(p, c);
4548            }
4549    }
4550    
4551    private void label_INT_XOR(BURS_TreeNode p) {
4552            p.word0 = 0;
4553            p.initCost();
4554            BURS_TreeNode lchild, rchild;
4555            lchild = p.child1;
4556            rchild = p.child2;
4557            label(lchild);
4558            label(rchild);
4559            int c;
4560            // szpr: INT_XOR(riv,riv)
4561            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 13;
4562            if (c < p.cost_szpr) {
4563                    p.cost_szpr = (char)(c);
4564                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2400000; // p.szpr = 18
4565                    closure_szpr(p, c);
4566            }
4567            // szpr: INT_XOR(riv,load32)
4568            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
4569            if (c < p.cost_szpr) {
4570                    p.cost_szpr = (char)(c);
4571                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2600000; // p.szpr = 19
4572                    closure_szpr(p, c);
4573            }
4574            // szpr: INT_XOR(load32,riv)
4575            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
4576            if (c < p.cost_szpr) {
4577                    p.cost_szpr = (char)(c);
4578                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2800000; // p.szpr = 20
4579                    closure_szpr(p, c);
4580            }
4581    }
4582    
4583    private void label_INT_NOT(BURS_TreeNode p) {
4584            p.word0 = 0;
4585            p.initCost();
4586            BURS_TreeNode lchild;
4587            lchild = p.child1;
4588            label(lchild);
4589            int c;
4590            // r: INT_NOT(r)
4591            c = STATE(lchild).cost_r + 13;
4592            if (c < p.cost_r) {
4593                    p.cost_r = (char)(c);
4594                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4100; // p.r = 65
4595                    closure_r(p, c);
4596            }
4597    }
4598    
4599    private void label_LONG_NOT(BURS_TreeNode p) {
4600            p.word0 = 0;
4601            p.initCost();
4602            BURS_TreeNode lchild;
4603            lchild = p.child1;
4604            label(lchild);
4605            int c;
4606            // r: LONG_NOT(r)
4607            c = STATE(lchild).cost_r + 23;
4608            if (c < p.cost_r) {
4609                    p.cost_r = (char)(c);
4610                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4F00; // p.r = 79
4611                    closure_r(p, c);
4612            }
4613    }
4614    
4615    private void label_LONG_XOR(BURS_TreeNode p) {
4616            p.word0 = 0;
4617            p.initCost();
4618            BURS_TreeNode lchild, rchild;
4619            lchild = p.child1;
4620            rchild = p.child2;
4621            label(lchild);
4622            label(rchild);
4623            int c;
4624            // r: LONG_XOR(r,rlv)
4625            c = STATE(lchild).cost_r + STATE(rchild).cost_rlv + 23;
4626            if (c < p.cost_r) {
4627                    p.cost_r = (char)(c);
4628                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x4E00; // p.r = 78
4629                    closure_r(p, c);
4630            }
4631    }
4632    
4633    private void label_ADDR_2LONG(BURS_TreeNode p) {
4634            p.word0 = 0;
4635            p.initCost();
4636            BURS_TreeNode lchild;
4637            lchild = p.child1;
4638            label(lchild);
4639            int c;
4640            // r: ADDR_2LONG(r)
4641            c = STATE(lchild).cost_r + 33;
4642            if (c < p.cost_r) {
4643                    p.cost_r = (char)(c);
4644                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5B00; // p.r = 91
4645                    closure_r(p, c);
4646            }
4647            // r: ADDR_2LONG(load32)
4648            c = STATE(lchild).cost_load32 + 38;
4649            if (c < p.cost_r) {
4650                    p.cost_r = (char)(c);
4651                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5C00; // p.r = 92
4652                    closure_r(p, c);
4653            }
4654    }
4655    
4656    private void label_INT_2LONG(BURS_TreeNode p) {
4657            p.word0 = 0;
4658            p.initCost();
4659            BURS_TreeNode lchild;
4660            lchild = p.child1;
4661            label(lchild);
4662            int c;
4663            // r: INT_2LONG(r)
4664            c = STATE(lchild).cost_r + 33;
4665            if (c < p.cost_r) {
4666                    p.cost_r = (char)(c);
4667                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5500; // p.r = 85
4668                    closure_r(p, c);
4669            }
4670            // r: INT_2LONG(load32)
4671            c = STATE(lchild).cost_load32 + 38;
4672            if (c < p.cost_r) {
4673                    p.cost_r = (char)(c);
4674                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5600; // p.r = 86
4675                    closure_r(p, c);
4676            }
4677    }
4678    
4679    private void label_INT_2FLOAT(BURS_TreeNode p) {
4680            p.word0 = 0;
4681            p.initCost();
4682            BURS_TreeNode lchild;
4683            lchild = p.child1;
4684            label(lchild);
4685            int c;
4686            // r: INT_2FLOAT(riv)
4687            c = STATE(lchild).cost_riv + 13;
4688            if (c < p.cost_r) {
4689                    p.cost_r = (char)(c);
4690                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBA00; // p.r = 186
4691                    closure_r(p, c);
4692            }
4693            // r: INT_2FLOAT(load32)
4694            c = STATE(lchild).cost_load32 + 15;
4695            if (c < p.cost_r) {
4696                    p.cost_r = (char)(c);
4697                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBB00; // p.r = 187
4698                    closure_r(p, c);
4699            }
4700    }
4701    
4702    private void label_INT_2DOUBLE(BURS_TreeNode p) {
4703            p.word0 = 0;
4704            p.initCost();
4705            BURS_TreeNode lchild;
4706            lchild = p.child1;
4707            label(lchild);
4708            int c;
4709            // r: INT_2DOUBLE(riv)
4710            c = STATE(lchild).cost_riv + 13;
4711            if (c < p.cost_r) {
4712                    p.cost_r = (char)(c);
4713                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBC00; // p.r = 188
4714                    closure_r(p, c);
4715            }
4716            // r: INT_2DOUBLE(load32)
4717            c = STATE(lchild).cost_load32 + 15;
4718            if (c < p.cost_r) {
4719                    p.cost_r = (char)(c);
4720                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBD00; // p.r = 189
4721                    closure_r(p, c);
4722            }
4723    }
4724    
4725    private void label_LONG_2INT(BURS_TreeNode p) {
4726            p.word0 = 0;
4727            p.initCost();
4728            BURS_TreeNode lchild;
4729            lchild = p.child1;
4730            label(lchild);
4731            int c;
4732            // r: LONG_2INT(r)
4733            c = STATE(lchild).cost_r + 13;
4734            if (c < p.cost_r) {
4735                    p.cost_r = (char)(c);
4736                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5D00; // p.r = 93
4737                    closure_r(p, c);
4738            }
4739            // r: LONG_2INT(load64)
4740            c = STATE(lchild).cost_load64 + 15;
4741            if (c < p.cost_r) {
4742                    p.cost_r = (char)(c);
4743                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5E00; // p.r = 94
4744                    closure_r(p, c);
4745            }
4746            if (    // r: LONG_2INT(LONG_USHR(r,INT_CONSTANT))
4747                    lchild.getOpcode() == LONG_USHR_opcode && 
4748                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4749            ) {
4750                    c = STATE(lchild.child1).cost_r + (VLR(p) == 32 ? 13 : INFINITE);
4751                    if (c < p.cost_r) {
4752                            p.cost_r = (char)(c);
4753                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x5F00; // p.r = 95
4754                            closure_r(p, c);
4755                    }
4756            }
4757            if (    // r: LONG_2INT(LONG_SHR(r,INT_CONSTANT))
4758                    lchild.getOpcode() == LONG_SHR_opcode && 
4759                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4760            ) {
4761                    c = STATE(lchild.child1).cost_r + (VLR(p) == 32 ? 13 : INFINITE);
4762                    if (c < p.cost_r) {
4763                            p.cost_r = (char)(c);
4764                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6000; // p.r = 96
4765                            closure_r(p, c);
4766                    }
4767            }
4768            if (    // r: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
4769                    lchild.getOpcode() == LONG_USHR_opcode && 
4770                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4771            ) {
4772                    c = STATE(lchild.child1).cost_load64 + (VLR(p) == 32 ? 15 : INFINITE);
4773                    if (c < p.cost_r) {
4774                            p.cost_r = (char)(c);
4775                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6100; // p.r = 97
4776                            closure_r(p, c);
4777                    }
4778            }
4779            if (    // r: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
4780                    lchild.getOpcode() == LONG_SHR_opcode && 
4781                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4782            ) {
4783                    c = STATE(lchild.child1).cost_load64 + (VLR(p) == 32 ? 15 : INFINITE);
4784                    if (c < p.cost_r) {
4785                            p.cost_r = (char)(c);
4786                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x6200; // p.r = 98
4787                            closure_r(p, c);
4788                    }
4789            }
4790            if (    // load32: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
4791                    lchild.getOpcode() == LONG_USHR_opcode && 
4792                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4793            ) {
4794                    c = STATE(lchild.child1).cost_load64 + (VLR(p) == 32 ? 0 : INFINITE);
4795                    if (c < p.cost_load32) {
4796                            p.cost_load32 = (char)(c);
4797                            p.word1 = (p.word1 & 0xFFE3FFFF) | 0xC0000; // p.load32 = 3
4798                            closure_load32(p, c);
4799                    }
4800            }
4801            if (    // load32: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
4802                    lchild.getOpcode() == LONG_SHR_opcode && 
4803                    lchild.child2.getOpcode() == INT_CONSTANT_opcode 
4804            ) {
4805                    c = STATE(lchild.child1).cost_load64 + (VLR(p) == 32 ? 0 : INFINITE);
4806                    if (c < p.cost_load32) {
4807                            p.cost_load32 = (char)(c);
4808                            p.word1 = (p.word1 & 0xFFE3FFFF) | 0x100000; // p.load32 = 4
4809                            closure_load32(p, c);
4810                    }
4811            }
4812    }
4813    
4814    private void label_LONG_2FLOAT(BURS_TreeNode p) {
4815            p.word0 = 0;
4816            p.initCost();
4817            BURS_TreeNode lchild;
4818            lchild = p.child1;
4819            label(lchild);
4820            int c;
4821            // r: LONG_2FLOAT(r)
4822            c = STATE(lchild).cost_r + 13;
4823            if (c < p.cost_r) {
4824                    p.cost_r = (char)(c);
4825                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB200; // p.r = 178
4826                    closure_r(p, c);
4827            }
4828    }
4829    
4830    private void label_LONG_2DOUBLE(BURS_TreeNode p) {
4831            p.word0 = 0;
4832            p.initCost();
4833            BURS_TreeNode lchild;
4834            lchild = p.child1;
4835            label(lchild);
4836            int c;
4837            // r: LONG_2DOUBLE(r)
4838            c = STATE(lchild).cost_r + 13;
4839            if (c < p.cost_r) {
4840                    p.cost_r = (char)(c);
4841                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB300; // p.r = 179
4842                    closure_r(p, c);
4843            }
4844    }
4845    
4846    private void label_FLOAT_2INT(BURS_TreeNode p) {
4847            p.word0 = 0;
4848            p.initCost();
4849            BURS_TreeNode lchild;
4850            lchild = p.child1;
4851            label(lchild);
4852            int c;
4853            // r: FLOAT_2INT(r)
4854            c = STATE(lchild).cost_r + 13;
4855            if (c < p.cost_r) {
4856                    p.cost_r = (char)(c);
4857                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC200; // p.r = 194
4858                    closure_r(p, c);
4859            }
4860    }
4861    
4862    private void label_FLOAT_2LONG(BURS_TreeNode p) {
4863            p.word0 = 0;
4864            p.initCost();
4865            BURS_TreeNode lchild;
4866            lchild = p.child1;
4867            label(lchild);
4868            int c;
4869            // r: FLOAT_2LONG(r)
4870            c = STATE(lchild).cost_r + 13;
4871            if (c < p.cost_r) {
4872                    p.cost_r = (char)(c);
4873                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC300; // p.r = 195
4874                    closure_r(p, c);
4875            }
4876    }
4877    
4878    private void label_FLOAT_2DOUBLE(BURS_TreeNode p) {
4879            p.word0 = 0;
4880            p.initCost();
4881            BURS_TreeNode lchild;
4882            lchild = p.child1;
4883            label(lchild);
4884            int c;
4885            // r: FLOAT_2DOUBLE(r)
4886            c = STATE(lchild).cost_r + 13;
4887            if (c < p.cost_r) {
4888                    p.cost_r = (char)(c);
4889                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBE00; // p.r = 190
4890                    closure_r(p, c);
4891            }
4892            // r: FLOAT_2DOUBLE(float_load)
4893            c = STATE(lchild).cost_float_load + 15;
4894            if (c < p.cost_r) {
4895                    p.cost_r = (char)(c);
4896                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xBF00; // p.r = 191
4897                    closure_r(p, c);
4898            }
4899    }
4900    
4901    private void label_DOUBLE_2INT(BURS_TreeNode p) {
4902            p.word0 = 0;
4903            p.initCost();
4904            BURS_TreeNode lchild;
4905            lchild = p.child1;
4906            label(lchild);
4907            int c;
4908            // r: DOUBLE_2INT(r)
4909            c = STATE(lchild).cost_r + 13;
4910            if (c < p.cost_r) {
4911                    p.cost_r = (char)(c);
4912                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC400; // p.r = 196
4913                    closure_r(p, c);
4914            }
4915    }
4916    
4917    private void label_DOUBLE_2LONG(BURS_TreeNode p) {
4918            p.word0 = 0;
4919            p.initCost();
4920            BURS_TreeNode lchild;
4921            lchild = p.child1;
4922            label(lchild);
4923            int c;
4924            // r: DOUBLE_2LONG(r)
4925            c = STATE(lchild).cost_r + 13;
4926            if (c < p.cost_r) {
4927                    p.cost_r = (char)(c);
4928                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC500; // p.r = 197
4929                    closure_r(p, c);
4930            }
4931    }
4932    
4933    private void label_DOUBLE_2FLOAT(BURS_TreeNode p) {
4934            p.word0 = 0;
4935            p.initCost();
4936            BURS_TreeNode lchild;
4937            lchild = p.child1;
4938            label(lchild);
4939            int c;
4940            // r: DOUBLE_2FLOAT(r)
4941            c = STATE(lchild).cost_r + 13;
4942            if (c < p.cost_r) {
4943                    p.cost_r = (char)(c);
4944                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC000; // p.r = 192
4945                    closure_r(p, c);
4946            }
4947            // r: DOUBLE_2FLOAT(double_load)
4948            c = STATE(lchild).cost_double_load + 15;
4949            if (c < p.cost_r) {
4950                    p.cost_r = (char)(c);
4951                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC100; // p.r = 193
4952                    closure_r(p, c);
4953            }
4954    }
4955    
4956    private void label_INT_2BYTE(BURS_TreeNode p) {
4957            p.word0 = 0;
4958            p.initCost();
4959            BURS_TreeNode lchild;
4960            lchild = p.child1;
4961            label(lchild);
4962            int c;
4963            // r: INT_2BYTE(r)
4964            c = STATE(lchild).cost_r + 15;
4965            if (c < p.cost_r) {
4966                    p.cost_r = (char)(c);
4967                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5000; // p.r = 80
4968                    closure_r(p, c);
4969            }
4970            // r: INT_2BYTE(load8_16_32)
4971            c = STATE(lchild).cost_load8_16_32 + 17;
4972            if (c < p.cost_r) {
4973                    p.cost_r = (char)(c);
4974                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5100; // p.r = 81
4975                    closure_r(p, c);
4976            }
4977            // r: INT_2BYTE(load8_16_32)
4978            c = STATE(lchild).cost_load8_16_32 + 20;
4979            if (c < p.cost_r) {
4980                    p.cost_r = (char)(c);
4981                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6C00; // p.r = 108
4982                    closure_r(p, c);
4983            }
4984    }
4985    
4986    private void label_INT_2USHORT(BURS_TreeNode p) {
4987            p.word0 = 0;
4988            p.initCost();
4989            BURS_TreeNode lchild;
4990            lchild = p.child1;
4991            label(lchild);
4992            int c;
4993            // szpr: INT_2USHORT(r)
4994            c = STATE(lchild).cost_r + 23;
4995            if (c < p.cost_szpr) {
4996                    p.cost_szpr = (char)(c);
4997                    p.word0 = (p.word0 & 0xFC1FFFFF) | 0x2A00000; // p.szpr = 21
4998                    closure_szpr(p, c);
4999            }
5000            // r: INT_2USHORT(load16_32)
5001            c = STATE(lchild).cost_load16_32 + 25;
5002            if (c < p.cost_r) {
5003                    p.cost_r = (char)(c);
5004                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5200; // p.r = 82
5005                    closure_r(p, c);
5006            }
5007            // r: INT_2USHORT(load16_32)
5008            c = STATE(lchild).cost_load16_32 + 15;
5009            if (c < p.cost_r) {
5010                    p.cost_r = (char)(c);
5011                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7300; // p.r = 115
5012                    closure_r(p, c);
5013            }
5014            // r: INT_2USHORT(load16_32)
5015            c = STATE(lchild).cost_load16_32 + 20;
5016            if (c < p.cost_r) {
5017                    p.cost_r = (char)(c);
5018                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7400; // p.r = 116
5019                    closure_r(p, c);
5020            }
5021    }
5022    
5023    private void label_INT_2SHORT(BURS_TreeNode p) {
5024            p.word0 = 0;
5025            p.initCost();
5026            BURS_TreeNode lchild;
5027            lchild = p.child1;
5028            label(lchild);
5029            int c;
5030            // r: INT_2SHORT(r)
5031            c = STATE(lchild).cost_r + 15;
5032            if (c < p.cost_r) {
5033                    p.cost_r = (char)(c);
5034                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5300; // p.r = 83
5035                    closure_r(p, c);
5036            }
5037            // r: INT_2SHORT(load16_32)
5038            c = STATE(lchild).cost_load16_32 + 17;
5039            if (c < p.cost_r) {
5040                    p.cost_r = (char)(c);
5041                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x5400; // p.r = 84
5042                    closure_r(p, c);
5043            }
5044    }
5045    
5046    private void label_LONG_CMP(BURS_TreeNode p) {
5047            p.word0 = 0;
5048            p.initCost();
5049            BURS_TreeNode lchild, rchild;
5050            lchild = p.child1;
5051            rchild = p.child2;
5052            label(lchild);
5053            label(rchild);
5054            int c;
5055            // r: LONG_CMP(rlv,rlv)
5056            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 10*13;
5057            if (c < p.cost_r) {
5058                    p.cost_r = (char)(c);
5059                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8F00; // p.r = 143
5060                    closure_r(p, c);
5061            }
5062    }
5063    
5064    private void label_RETURN(BURS_TreeNode p) {
5065            p.word0 = 0;
5066            p.initCost();
5067            BURS_TreeNode lchild;
5068            lchild = p.child1;
5069            label(lchild);
5070            int c;
5071            if (    // stm: RETURN(NULL)
5072                    lchild.getOpcode() == NULL_opcode 
5073            ) {
5074                    c = 13;
5075                    if (c < p.cost_stm) {
5076                            p.cost_stm = (char)(c);
5077                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x7D; // p.stm = 125
5078                    }
5079            }
5080            if (    // stm: RETURN(INT_CONSTANT)
5081                    lchild.getOpcode() == INT_CONSTANT_opcode 
5082            ) {
5083                    c = 11;
5084                    if (c < p.cost_stm) {
5085                            p.cost_stm = (char)(c);
5086                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x7E; // p.stm = 126
5087                    }
5088            }
5089            // stm: RETURN(r)
5090            c = STATE(lchild).cost_r + 13;
5091            if (c < p.cost_stm) {
5092                    p.cost_stm = (char)(c);
5093                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x7F; // p.stm = 127
5094            }
5095            if (    // stm: RETURN(LONG_CONSTANT)
5096                    lchild.getOpcode() == LONG_CONSTANT_opcode 
5097            ) {
5098                    c = 11;
5099                    if (c < p.cost_stm) {
5100                            p.cost_stm = (char)(c);
5101                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x80; // p.stm = 128
5102                    }
5103            }
5104    }
5105    
5106    private void label_NULL_CHECK(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            // stm: NULL_CHECK(riv)
5114            c = STATE(lchild).cost_riv + 11;
5115            if (c < p.cost_stm) {
5116                    p.cost_stm = (char)(c);
5117                    p.word0 = (p.word0 & 0xFFFFFF00) | 0xB; // p.stm = 11
5118            }
5119    }
5120    
5121    private void label_GOTO(BURS_TreeNode p) {
5122            p.word0 = 0;
5123            p.initCost();
5124            // stm: GOTO
5125            if (11 < p.cost_stm) {
5126                    p.cost_stm = (char)(11);
5127                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x77; // p.stm = 119
5128            }
5129    }
5130    
5131    private void label_BOOLEAN_NOT(BURS_TreeNode p) {
5132            p.word0 = 0;
5133            p.initCost();
5134            BURS_TreeNode lchild;
5135            lchild = p.child1;
5136            label(lchild);
5137            int c;
5138            // r: BOOLEAN_NOT(r)
5139            c = STATE(lchild).cost_r + 13;
5140            if (c < p.cost_r) {
5141                    p.cost_r = (char)(c);
5142                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xD00; // p.r = 13
5143                    closure_r(p, c);
5144            }
5145    }
5146    
5147    private void label_BOOLEAN_CMP_INT(BURS_TreeNode p) {
5148            p.word0 = 0;
5149            p.initCost();
5150            BURS_TreeNode lchild, rchild;
5151            lchild = p.child1;
5152            rchild = p.child2;
5153            label(lchild);
5154            label(rchild);
5155            int c;
5156            // r: BOOLEAN_CMP_INT(r,riv)
5157            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 39;
5158            if (c < p.cost_r) {
5159                    p.cost_r = (char)(c);
5160                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xE00; // p.r = 14
5161                    closure_r(p, c);
5162            }
5163            // boolcmp: BOOLEAN_CMP_INT(r,riv)
5164            c = STATE(lchild).cost_r + STATE(rchild).cost_riv + 13;
5165            if (c < p.cost_boolcmp) {
5166                    p.cost_boolcmp = (char)(c);
5167                    p.word2 = (p.word2 & 0xFFFFF87F) | 0x80; // p.boolcmp = 1
5168            }
5169            if (    // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
5170                    rchild.getOpcode() == INT_CONSTANT_opcode 
5171            ) {
5172                    c = STATE(lchild).cost_r + (VR(p) == 0 && CMP_TO_TEST(BooleanCmp.getCond(P(p))) ? 37:INFINITE);
5173                    if (c < p.cost_r) {
5174                            p.cost_r = (char)(c);
5175                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xF00; // p.r = 15
5176                            closure_r(p, c);
5177                    }
5178            }
5179            if (    // boolcmp: BOOLEAN_CMP_INT(r,INT_CONSTANT)
5180                    rchild.getOpcode() == INT_CONSTANT_opcode 
5181            ) {
5182                    c = STATE(lchild).cost_r + (VR(p) == 0 && CMP_TO_TEST(BooleanCmp.getCond(P(p))) ? 11:INFINITE);
5183                    if (c < p.cost_boolcmp) {
5184                            p.cost_boolcmp = (char)(c);
5185                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x100; // p.boolcmp = 2
5186                    }
5187            }
5188            if (    // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
5189                    rchild.getOpcode() == INT_CONSTANT_opcode 
5190            ) {
5191                    c = STATE(lchild).cost_r + (VR(p) == 0 && BooleanCmp.getCond(P(p)).isLESS() ? 11 : INFINITE);
5192                    if (c < p.cost_r) {
5193                            p.cost_r = (char)(c);
5194                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1000; // p.r = 16
5195                            closure_r(p, c);
5196                    }
5197            }
5198            if (    // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
5199                    rchild.getOpcode() == INT_CONSTANT_opcode 
5200            ) {
5201                    c = STATE(lchild).cost_load32 + (VR(p) == 0 && BooleanCmp.getCond(P(p)).isLESS() ? 16 : INFINITE);
5202                    if (c < p.cost_r) {
5203                            p.cost_r = (char)(c);
5204                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1100; // p.r = 17
5205                            closure_r(p, c);
5206                    }
5207            }
5208            if (    // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
5209                    rchild.getOpcode() == INT_CONSTANT_opcode 
5210            ) {
5211                    c = STATE(lchild).cost_r + (VR(p) == 0 && BooleanCmp.getCond(P(p)).isGREATER_EQUAL() ? 22 : INFINITE);
5212                    if (c < p.cost_r) {
5213                            p.cost_r = (char)(c);
5214                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1200; // p.r = 18
5215                            closure_r(p, c);
5216                    }
5217            }
5218            if (    // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
5219                    rchild.getOpcode() == INT_CONSTANT_opcode 
5220            ) {
5221                    c = STATE(lchild).cost_load32 + (VR(p) == 0 && BooleanCmp.getCond(P(p)).isGREATER_EQUAL() ? 27 : INFINITE);
5222                    if (c < p.cost_r) {
5223                            p.cost_r = (char)(c);
5224                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1300; // p.r = 19
5225                            closure_r(p, c);
5226                    }
5227            }
5228            if (    // r: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
5229                    rchild.getOpcode() == INT_CONSTANT_opcode 
5230            ) {
5231                    c = STATE(lchild).cost_cz + isZERO(VR(p), 26);
5232                    if (c < p.cost_r) {
5233                            p.cost_r = (char)(c);
5234                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1400; // p.r = 20
5235                            closure_r(p, c);
5236                    }
5237            }
5238            if (    // boolcmp: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
5239                    rchild.getOpcode() == INT_CONSTANT_opcode 
5240            ) {
5241                    c = STATE(lchild).cost_cz + isZERO(VR(p), 0);
5242                    if (c < p.cost_boolcmp) {
5243                            p.cost_boolcmp = (char)(c);
5244                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x180; // p.boolcmp = 3
5245                    }
5246            }
5247            if (    // r: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
5248                    rchild.getOpcode() == INT_CONSTANT_opcode 
5249            ) {
5250                    c = STATE(lchild).cost_szp + (VR(p) == 0 && EQ_NE(BooleanCmp.getCond(P(p)))?26:INFINITE);
5251                    if (c < p.cost_r) {
5252                            p.cost_r = (char)(c);
5253                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1500; // p.r = 21
5254                            closure_r(p, c);
5255                    }
5256            }
5257            if (    // boolcmp: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
5258                    rchild.getOpcode() == INT_CONSTANT_opcode 
5259            ) {
5260                    c = STATE(lchild).cost_szp + (VR(p) == 0 && EQ_NE(BooleanCmp.getCond(P(p)))?0:INFINITE);
5261                    if (c < p.cost_boolcmp) {
5262                            p.cost_boolcmp = (char)(c);
5263                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x200; // p.boolcmp = 4
5264                    }
5265            }
5266            if (    // r: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
5267                    rchild.getOpcode() == INT_CONSTANT_opcode 
5268            ) {
5269                    c = STATE(lchild).cost_bittest + ((VR(p) == 0 || VR(p) == 1) && EQ_NE(BooleanCmp.getCond(P(p))) ? 26 : INFINITE);
5270                    if (c < p.cost_r) {
5271                            p.cost_r = (char)(c);
5272                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1600; // p.r = 22
5273                            closure_r(p, c);
5274                    }
5275            }
5276            if (    // boolcmp: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
5277                    rchild.getOpcode() == INT_CONSTANT_opcode 
5278            ) {
5279                    c = STATE(lchild).cost_bittest + ((VR(p) == 0 || VR(p) == 1) && EQ_NE(BooleanCmp.getCond(P(p))) ? 0 : INFINITE);
5280                    if (c < p.cost_boolcmp) {
5281                            p.cost_boolcmp = (char)(c);
5282                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x280; // p.boolcmp = 5
5283                    }
5284            }
5285            if (    // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
5286                    rchild.getOpcode() == INT_CONSTANT_opcode 
5287            ) {
5288                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 0 && BooleanCmp.getCond(P(p)).isNOT_EQUAL()) || (VR(p) == 1 && BooleanCmp.getCond(P(p)).isEQUAL()) ? 26 : INFINITE);
5289                    if (c < p.cost_r) {
5290                            p.cost_r = (char)(c);
5291                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1700; // p.r = 23
5292                            closure_r(p, c);
5293                    }
5294            }
5295            if (    // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
5296                    rchild.getOpcode() == INT_CONSTANT_opcode 
5297            ) {
5298                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 0 && BooleanCmp.getCond(P(p)).isNOT_EQUAL()) || (VR(p) == 1 && BooleanCmp.getCond(P(p)).isEQUAL()) ? 0 : INFINITE);
5299                    if (c < p.cost_boolcmp) {
5300                            p.cost_boolcmp = (char)(c);
5301                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x300; // p.boolcmp = 6
5302                    }
5303            }
5304            if (    // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
5305                    rchild.getOpcode() == INT_CONSTANT_opcode 
5306            ) {
5307                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 1 && BooleanCmp.getCond(P(p)).isNOT_EQUAL()) || (VR(p) == 0 && BooleanCmp.getCond(P(p)).isEQUAL()) ? 26 : INFINITE);
5308                    if (c < p.cost_r) {
5309                            p.cost_r = (char)(c);
5310                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1800; // p.r = 24
5311                            closure_r(p, c);
5312                    }
5313            }
5314            if (    // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
5315                    rchild.getOpcode() == INT_CONSTANT_opcode 
5316            ) {
5317                    c = STATE(lchild).cost_boolcmp + ((VR(p) == 1 && BooleanCmp.getCond(P(p)).isNOT_EQUAL()) || (VR(p) == 0 && BooleanCmp.getCond(P(p)).isEQUAL()) ? 0 : INFINITE);
5318                    if (c < p.cost_boolcmp) {
5319                            p.cost_boolcmp = (char)(c);
5320                            p.word2 = (p.word2 & 0xFFFFF87F) | 0x380; // p.boolcmp = 7
5321                    }
5322            }
5323            // r: BOOLEAN_CMP_INT(load32,riv)
5324            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 41;
5325            if (c < p.cost_r) {
5326                    p.cost_r = (char)(c);
5327                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x1900; // p.r = 25
5328                    closure_r(p, c);
5329            }
5330            // boolcmp: BOOLEAN_CMP_INT(load32,riv)
5331            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
5332            if (c < p.cost_boolcmp) {
5333                    p.cost_boolcmp = (char)(c);
5334                    p.word2 = (p.word2 & 0xFFFFF87F) | 0x400; // p.boolcmp = 8
5335            }
5336            // r: BOOLEAN_CMP_INT(r,load32)
5337            c = STATE(lchild).cost_r + STATE(rchild).cost_load32 + 41;
5338            if (c < p.cost_r) {
5339                    p.cost_r = (char)(c);
5340                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x1A00; // p.r = 26
5341                    closure_r(p, c);
5342            }
5343            // boolcmp: BOOLEAN_CMP_INT(riv,load32)
5344            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
5345            if (c < p.cost_boolcmp) {
5346                    p.cost_boolcmp = (char)(c);
5347                    p.word2 = (p.word2 & 0xFFFFF87F) | 0x480; // p.boolcmp = 9
5348            }
5349    }
5350    
5351    private void label_BOOLEAN_CMP_LONG(BURS_TreeNode p) {
5352            p.word0 = 0;
5353            p.initCost();
5354            BURS_TreeNode lchild, rchild;
5355            lchild = p.child1;
5356            rchild = p.child2;
5357            label(lchild);
5358            label(rchild);
5359            int c;
5360            // r: BOOLEAN_CMP_LONG(rlv,rlv)
5361            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 8*13;
5362            if (c < p.cost_r) {
5363                    p.cost_r = (char)(c);
5364                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x1B00; // p.r = 27
5365                    closure_r(p, c);
5366            }
5367            // boolcmp: BOOLEAN_CMP_LONG(rlv,rlv)
5368            c = STATE(lchild).cost_rlv + STATE(rchild).cost_rlv + 11*13;
5369            if (c < p.cost_boolcmp) {
5370                    p.cost_boolcmp = (char)(c);
5371                    p.word2 = (p.word2 & 0xFFFFF87F) | 0x500; // p.boolcmp = 10
5372            }
5373    }
5374    
5375    private void label_BYTE_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            // sload8: BYTE_LOAD(riv,riv)
5385            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5386            if (c < p.cost_sload8) {
5387                    p.cost_sload8 = (char)(c);
5388                    p.word1 = (p.word1 & 0xFFFFFF9F) | 0x20; // p.sload8 = 1
5389                    closure_sload8(p, c);
5390            }
5391            // r: BYTE_LOAD(riv,riv)
5392            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 20;
5393            if (c < p.cost_r) {
5394                    p.cost_r = (char)(c);
5395                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6700; // p.r = 103
5396                    closure_r(p, c);
5397            }
5398    }
5399    
5400    private void label_UBYTE_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            // uload8: UBYTE_LOAD(riv,riv)
5410            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5411            if (c < p.cost_uload8) {
5412                    p.cost_uload8 = (char)(c);
5413                    p.word1 = (p.word1 & 0xFFFFFC7F) | 0x80; // p.uload8 = 1
5414                    closure_uload8(p, c);
5415            }
5416            // r: UBYTE_LOAD(riv,riv)
5417            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
5418            if (c < p.cost_r) {
5419                    p.cost_r = (char)(c);
5420                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6900; // p.r = 105
5421                    closure_r(p, c);
5422            }
5423    }
5424    
5425    private void label_SHORT_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            // sload16: SHORT_LOAD(riv,riv)
5435            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5436            if (c < p.cost_sload16) {
5437                    p.cost_sload16 = (char)(c);
5438                    p.word1 = (p.word1 & 0xFFFFCFFF) | 0x1000; // p.sload16 = 1
5439                    closure_sload16(p, c);
5440            }
5441            // r: SHORT_LOAD(riv,riv)
5442            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 20;
5443            if (c < p.cost_r) {
5444                    p.cost_r = (char)(c);
5445                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6E00; // p.r = 110
5446                    closure_r(p, c);
5447            }
5448    }
5449    
5450    private void label_USHORT_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            // uload16: USHORT_LOAD(riv,riv)
5460            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5461            if (c < p.cost_uload16) {
5462                    p.cost_uload16 = (char)(c);
5463                    p.word1 = (p.word1 & 0xFFFF3FFF) | 0x4000; // p.uload16 = 1
5464                    closure_uload16(p, c);
5465            }
5466            // r: USHORT_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) | 0x7000; // p.r = 112
5471                    closure_r(p, c);
5472            }
5473    }
5474    
5475    private void label_INT_LOAD(BURS_TreeNode p) {
5476            p.word0 = 0;
5477            p.initCost();
5478            BURS_TreeNode lchild, rchild;
5479            lchild = p.child1;
5480            rchild = p.child2;
5481            label(lchild);
5482            label(rchild);
5483            int c;
5484            // load32: INT_LOAD(riv,riv)
5485            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5486            if (c < p.cost_load32) {
5487                    p.cost_load32 = (char)(c);
5488                    p.word1 = (p.word1 & 0xFFE3FFFF) | 0x40000; // p.load32 = 1
5489                    closure_load32(p, c);
5490            }
5491            // r: INT_LOAD(riv,riv)
5492            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
5493            if (c < p.cost_r) {
5494                    p.cost_r = (char)(c);
5495                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7600; // p.r = 118
5496                    closure_r(p, c);
5497            }
5498            // r: INT_LOAD(riv,address1scaledreg)
5499            c = STATE(lchild).cost_riv + STATE(rchild).cost_address1scaledreg + 15;
5500            if (c < p.cost_r) {
5501                    p.cost_r = (char)(c);
5502                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7700; // p.r = 119
5503                    closure_r(p, c);
5504            }
5505            // r: INT_LOAD(address1scaledreg,riv)
5506            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_riv + 15;
5507            if (c < p.cost_r) {
5508                    p.cost_r = (char)(c);
5509                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7800; // p.r = 120
5510                    closure_r(p, c);
5511            }
5512            // r: INT_LOAD(address1scaledreg,address1reg)
5513            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_address1reg + 15;
5514            if (c < p.cost_r) {
5515                    p.cost_r = (char)(c);
5516                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7900; // p.r = 121
5517                    closure_r(p, c);
5518            }
5519            // r: INT_LOAD(address1reg,address1scaledreg)
5520            c = STATE(lchild).cost_address1reg + STATE(rchild).cost_address1scaledreg + 15;
5521            if (c < p.cost_r) {
5522                    p.cost_r = (char)(c);
5523                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7A00; // p.r = 122
5524                    closure_r(p, c);
5525            }
5526            if (    // r: INT_LOAD(address,INT_CONSTANT)
5527                    rchild.getOpcode() == INT_CONSTANT_opcode 
5528            ) {
5529                    c = STATE(lchild).cost_address + 15;
5530                    if (c < p.cost_r) {
5531                            p.cost_r = (char)(c);
5532                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x7B00; // p.r = 123
5533                            closure_r(p, c);
5534                    }
5535            }
5536    }
5537    
5538    private void label_LONG_LOAD(BURS_TreeNode p) {
5539            p.word0 = 0;
5540            p.initCost();
5541            BURS_TreeNode lchild, rchild;
5542            lchild = p.child1;
5543            rchild = p.child2;
5544            label(lchild);
5545            label(rchild);
5546            int c;
5547            // load64: LONG_LOAD(riv,riv)
5548            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5549            if (c < p.cost_load64) {
5550                    p.cost_load64 = (char)(c);
5551                    p.word1 = (p.word1 & 0xF1FFFFFF) | 0x2000000; // p.load64 = 1
5552            }
5553            // r: LONG_LOAD(riv,riv)
5554            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 30;
5555            if (c < p.cost_r) {
5556                    p.cost_r = (char)(c);
5557                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7D00; // p.r = 125
5558                    closure_r(p, c);
5559            }
5560    }
5561    
5562    private void label_FLOAT_LOAD(BURS_TreeNode p) {
5563            p.word0 = 0;
5564            p.initCost();
5565            BURS_TreeNode lchild, rchild;
5566            lchild = p.child1;
5567            rchild = p.child2;
5568            label(lchild);
5569            label(rchild);
5570            int c;
5571            // r: FLOAT_LOAD(riv,riv)
5572            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
5573            if (c < p.cost_r) {
5574                    p.cost_r = (char)(c);
5575                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB800; // p.r = 184
5576                    closure_r(p, c);
5577            }
5578            // float_load: FLOAT_LOAD(riv,riv)
5579            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5580            if (c < p.cost_float_load) {
5581                    p.cost_float_load = (char)(c);
5582                    p.word2 = (p.word2 & 0xFFFC7FFF) | 0x8000; // p.float_load = 1
5583            }
5584    }
5585    
5586    private void label_DOUBLE_LOAD(BURS_TreeNode p) {
5587            p.word0 = 0;
5588            p.initCost();
5589            BURS_TreeNode lchild, rchild;
5590            lchild = p.child1;
5591            rchild = p.child2;
5592            label(lchild);
5593            label(rchild);
5594            int c;
5595            // r: DOUBLE_LOAD(riv,riv)
5596            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
5597            if (c < p.cost_r) {
5598                    p.cost_r = (char)(c);
5599                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xB600; // p.r = 182
5600                    closure_r(p, c);
5601            }
5602            // double_load: DOUBLE_LOAD(riv,riv)
5603            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 0;
5604            if (c < p.cost_double_load) {
5605                    p.cost_double_load = (char)(c);
5606                    p.word2 = (p.word2 & 0xFFE3FFFF) | 0x40000; // p.double_load = 1
5607            }
5608    }
5609    
5610    private void label_BYTE_STORE(BURS_TreeNode p) {
5611            p.word0 = 0;
5612            p.initCost();
5613            BURS_TreeNode lchild, rchild;
5614            lchild = p.child1;
5615            rchild = p.child2;
5616            label(lchild);
5617            label(rchild);
5618            int c;
5619            if (    // stm: BYTE_STORE(BOOLEAN_NOT(UBYTE_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5620                    lchild.getOpcode() == BOOLEAN_NOT_opcode && 
5621                    lchild.child1.getOpcode() == UBYTE_LOAD_opcode && 
5622                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5623            ) {
5624                    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);
5625                    if (c < p.cost_stm) {
5626                            p.cost_stm = (char)(c);
5627                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x15; // p.stm = 21
5628                    }
5629            }
5630            if (    // stm: BYTE_STORE(boolcmp,OTHER_OPERAND(riv,riv))
5631                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5632            ) {
5633                    c = STATE(lchild).cost_boolcmp + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5634                    if (c < p.cost_stm) {
5635                            p.cost_stm = (char)(c);
5636                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x17; // p.stm = 23
5637                    }
5638            }
5639            if (    // stm: BYTE_STORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
5640                    lchild.getOpcode() == INT_2BYTE_opcode && 
5641                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5642            ) {
5643                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5644                    if (c < p.cost_stm) {
5645                            p.cost_stm = (char)(c);
5646                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3D; // p.stm = 61
5647                    }
5648            }
5649            if (    // stm: BYTE_STORE(riv,OTHER_OPERAND(riv,riv))
5650                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5651            ) {
5652                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5653                    if (c < p.cost_stm) {
5654                            p.cost_stm = (char)(c);
5655                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x53; // p.stm = 83
5656                    }
5657            }
5658            if (    // stm: BYTE_STORE(load8,OTHER_OPERAND(riv,riv))
5659                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5660            ) {
5661                    c = STATE(lchild).cost_load8 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 25;
5662                    if (c < p.cost_stm) {
5663                            p.cost_stm = (char)(c);
5664                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x54; // p.stm = 84
5665                    }
5666            }
5667    }
5668    
5669    private void label_SHORT_STORE(BURS_TreeNode p) {
5670            p.word0 = 0;
5671            p.initCost();
5672            BURS_TreeNode lchild, rchild;
5673            lchild = p.child1;
5674            rchild = p.child2;
5675            label(lchild);
5676            label(rchild);
5677            int c;
5678            if (    // stm: SHORT_STORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
5679                    lchild.getOpcode() == INT_2USHORT_opcode && 
5680                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5681            ) {
5682                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5683                    if (c < p.cost_stm) {
5684                            p.cost_stm = (char)(c);
5685                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3F; // p.stm = 63
5686                    }
5687            }
5688            if (    // stm: SHORT_STORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
5689                    lchild.getOpcode() == INT_2SHORT_opcode && 
5690                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5691            ) {
5692                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5693                    if (c < p.cost_stm) {
5694                            p.cost_stm = (char)(c);
5695                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x41; // p.stm = 65
5696                    }
5697            }
5698            if (    // stm: SHORT_STORE(riv,OTHER_OPERAND(riv,riv))
5699                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5700            ) {
5701                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5702                    if (c < p.cost_stm) {
5703                            p.cost_stm = (char)(c);
5704                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x57; // p.stm = 87
5705                    }
5706            }
5707            if (    // stm: SHORT_STORE(load16,OTHER_OPERAND(riv,riv))
5708                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5709            ) {
5710                    c = STATE(lchild).cost_load16 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 25;
5711                    if (c < p.cost_stm) {
5712                            p.cost_stm = (char)(c);
5713                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x58; // p.stm = 88
5714                    }
5715            }
5716    }
5717    
5718    private void label_INT_STORE(BURS_TreeNode p) {
5719            p.word0 = 0;
5720            p.initCost();
5721            BURS_TreeNode lchild, rchild;
5722            lchild = p.child1;
5723            rchild = p.child2;
5724            label(lchild);
5725            label(rchild);
5726            int c;
5727            if (    // stm: INT_STORE(INT_ADD(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
5728                    lchild.getOpcode() == INT_ADD_opcode && 
5729                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5730                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5731            ) {
5732                    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);
5733                    if (c < p.cost_stm) {
5734                            p.cost_stm = (char)(c);
5735                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x19; // p.stm = 25
5736                    }
5737            }
5738            if (    // stm: INT_STORE(INT_ADD(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5739                    lchild.getOpcode() == INT_ADD_opcode && 
5740                    lchild.child2.getOpcode() == INT_LOAD_opcode && 
5741                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5742            ) {
5743                    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);
5744                    if (c < p.cost_stm) {
5745                            p.cost_stm = (char)(c);
5746                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1A; // p.stm = 26
5747                    }
5748            }
5749            if (    // stm: INT_STORE(INT_SUB(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
5750                    lchild.getOpcode() == INT_SUB_opcode && 
5751                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5752                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5753            ) {
5754                    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);
5755                    if (c < p.cost_stm) {
5756                            p.cost_stm = (char)(c);
5757                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1D; // p.stm = 29
5758                    }
5759            }
5760            if (    // stm: INT_STORE(INT_SUB(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5761                    lchild.getOpcode() == INT_SUB_opcode && 
5762                    lchild.child2.getOpcode() == INT_LOAD_opcode && 
5763                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5764            ) {
5765                    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);
5766                    if (c < p.cost_stm) {
5767                            p.cost_stm = (char)(c);
5768                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x1E; // p.stm = 30
5769                    }
5770            }
5771            if (    // stm: INT_STORE(INT_NEG(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5772                    lchild.getOpcode() == INT_NEG_opcode && 
5773                    lchild.child1.getOpcode() == INT_LOAD_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) | 0x21; // p.stm = 33
5780                    }
5781            }
5782            if (    // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
5783                    lchild.getOpcode() == INT_SHL_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) | 0x23; // p.stm = 35
5793                    }
5794            }
5795            if (    // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
5796                    lchild.getOpcode() == INT_SHL_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) | 0x24; // p.stm = 36
5805                    }
5806            }
5807            if (    // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
5808                    lchild.getOpcode() == INT_SHR_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) | 0x27; // p.stm = 39
5818                    }
5819            }
5820            if (    // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
5821                    lchild.getOpcode() == INT_SHR_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) | 0x28; // p.stm = 40
5830                    }
5831            }
5832            if (    // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
5833                    lchild.getOpcode() == INT_USHR_opcode && 
5834                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5835                    lchild.child2.getOpcode() == INT_AND_opcode && 
5836                    lchild.child2.child2.getOpcode() == INT_CONSTANT_opcode && 
5837                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5838            ) {
5839                    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));
5840                    if (c < p.cost_stm) {
5841                            p.cost_stm = (char)(c);
5842                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2B; // p.stm = 43
5843                    }
5844            }
5845            if (    // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
5846                    lchild.getOpcode() == INT_USHR_opcode && 
5847                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5848                    lchild.child2.getOpcode() == INT_CONSTANT_opcode && 
5849                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5850            ) {
5851                    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);
5852                    if (c < p.cost_stm) {
5853                            p.cost_stm = (char)(c);
5854                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2C; // p.stm = 44
5855                    }
5856            }
5857            if (    // stm: INT_STORE(INT_AND(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
5858                    lchild.getOpcode() == INT_AND_opcode && 
5859                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5860                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5861            ) {
5862                    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);
5863                    if (c < p.cost_stm) {
5864                            p.cost_stm = (char)(c);
5865                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x2F; // p.stm = 47
5866                    }
5867            }
5868            if (    // stm: INT_STORE(INT_AND(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5869                    lchild.getOpcode() == INT_AND_opcode && 
5870                    lchild.child2.getOpcode() == INT_LOAD_opcode && 
5871                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5872            ) {
5873                    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);
5874                    if (c < p.cost_stm) {
5875                            p.cost_stm = (char)(c);
5876                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x30; // p.stm = 48
5877                    }
5878            }
5879            if (    // stm: INT_STORE(INT_OR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
5880                    lchild.getOpcode() == INT_OR_opcode && 
5881                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5882                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5883            ) {
5884                    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);
5885                    if (c < p.cost_stm) {
5886                            p.cost_stm = (char)(c);
5887                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x33; // p.stm = 51
5888                    }
5889            }
5890            if (    // stm: INT_STORE(INT_OR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5891                    lchild.getOpcode() == INT_OR_opcode && 
5892                    lchild.child2.getOpcode() == INT_LOAD_opcode && 
5893                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5894            ) {
5895                    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);
5896                    if (c < p.cost_stm) {
5897                            p.cost_stm = (char)(c);
5898                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x34; // p.stm = 52
5899                    }
5900            }
5901            if (    // stm: INT_STORE(INT_XOR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
5902                    lchild.getOpcode() == INT_XOR_opcode && 
5903                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5904                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5905            ) {
5906                    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);
5907                    if (c < p.cost_stm) {
5908                            p.cost_stm = (char)(c);
5909                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x37; // p.stm = 55
5910                    }
5911            }
5912            if (    // stm: INT_STORE(INT_XOR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5913                    lchild.getOpcode() == INT_XOR_opcode && 
5914                    lchild.child2.getOpcode() == INT_LOAD_opcode && 
5915                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5916            ) {
5917                    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);
5918                    if (c < p.cost_stm) {
5919                            p.cost_stm = (char)(c);
5920                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x38; // p.stm = 56
5921                    }
5922            }
5923            if (    // stm: INT_STORE(INT_NOT(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
5924                    lchild.getOpcode() == INT_NOT_opcode && 
5925                    lchild.child1.getOpcode() == INT_LOAD_opcode && 
5926                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5927            ) {
5928                    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);
5929                    if (c < p.cost_stm) {
5930                            p.cost_stm = (char)(c);
5931                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x3B; // p.stm = 59
5932                    }
5933            }
5934            if (    // stm: INT_STORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
5935                    lchild.getOpcode() == LONG_2INT_opcode && 
5936                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5937            ) {
5938                    c = STATE(lchild.child1).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5939                    if (c < p.cost_stm) {
5940                            p.cost_stm = (char)(c);
5941                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x43; // p.stm = 67
5942                    }
5943            }
5944            if (    // stm: INT_STORE(riv,OTHER_OPERAND(riv,riv))
5945                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5946            ) {
5947                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 15;
5948                    if (c < p.cost_stm) {
5949                            p.cost_stm = (char)(c);
5950                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5B; // p.stm = 91
5951                    }
5952            }
5953            if (    // stm: INT_STORE(riv,OTHER_OPERAND(riv,address1scaledreg))
5954                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5955            ) {
5956                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_address1scaledreg + 15;
5957                    if (c < p.cost_stm) {
5958                            p.cost_stm = (char)(c);
5959                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5C; // p.stm = 92
5960                    }
5961            }
5962            if (    // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,riv))
5963                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5964            ) {
5965                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_address1scaledreg + STATE(rchild.child2).cost_riv + 15;
5966                    if (c < p.cost_stm) {
5967                            p.cost_stm = (char)(c);
5968                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5D; // p.stm = 93
5969                    }
5970            }
5971            if (    // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,address1reg))
5972                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5973            ) {
5974                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_address1scaledreg + STATE(rchild.child2).cost_address1reg + 15;
5975                    if (c < p.cost_stm) {
5976                            p.cost_stm = (char)(c);
5977                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5E; // p.stm = 94
5978                    }
5979            }
5980            if (    // stm: INT_STORE(riv,OTHER_OPERAND(address1reg,address1scaledreg))
5981                    rchild.getOpcode() == OTHER_OPERAND_opcode 
5982            ) {
5983                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_address1reg + STATE(rchild.child2).cost_address1scaledreg + 15;
5984                    if (c < p.cost_stm) {
5985                            p.cost_stm = (char)(c);
5986                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x5F; // p.stm = 95
5987                    }
5988            }
5989            if (    // stm: INT_STORE(riv,OTHER_OPERAND(address,INT_CONSTANT))
5990                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
5991                    rchild.child2.getOpcode() == INT_CONSTANT_opcode 
5992            ) {
5993                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_address + 15;
5994                    if (c < p.cost_stm) {
5995                            p.cost_stm = (char)(c);
5996                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x60; // p.stm = 96
5997                    }
5998            }
5999    }
6000    
6001    private void label_LONG_STORE(BURS_TreeNode p) {
6002            p.word0 = 0;
6003            p.initCost();
6004            BURS_TreeNode lchild, rchild;
6005            lchild = p.child1;
6006            rchild = p.child2;
6007            label(lchild);
6008            label(rchild);
6009            int c;
6010            if (    // stm: LONG_STORE(r,OTHER_OPERAND(riv,riv))
6011                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6012            ) {
6013                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 30;
6014                    if (c < p.cost_stm) {
6015                            p.cost_stm = (char)(c);
6016                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x62; // p.stm = 98
6017                    }
6018            }
6019            if (    // stm: LONG_STORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
6020                    lchild.getOpcode() == LONG_CONSTANT_opcode && 
6021                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6022            ) {
6023                    c = STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 26;
6024                    if (c < p.cost_stm) {
6025                            p.cost_stm = (char)(c);
6026                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x63; // p.stm = 99
6027                    }
6028            }
6029            if (    // stm: LONG_STORE(load64,OTHER_OPERAND(riv,riv))
6030                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6031            ) {
6032                    c = STATE(lchild).cost_load64 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 32;
6033                    if (c < p.cost_stm) {
6034                            p.cost_stm = (char)(c);
6035                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x8E; // p.stm = 142
6036                    }
6037            }
6038    }
6039    
6040    private void label_FLOAT_STORE(BURS_TreeNode p) {
6041            p.word0 = 0;
6042            p.initCost();
6043            BURS_TreeNode lchild, rchild;
6044            lchild = p.child1;
6045            rchild = p.child2;
6046            label(lchild);
6047            label(rchild);
6048            int c;
6049            if (    // stm: FLOAT_STORE(r,OTHER_OPERAND(riv,riv))
6050                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6051            ) {
6052                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 17;
6053                    if (c < p.cost_stm) {
6054                            p.cost_stm = (char)(c);
6055                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x84; // p.stm = 132
6056                    }
6057            }
6058    }
6059    
6060    private void label_DOUBLE_STORE(BURS_TreeNode p) {
6061            p.word0 = 0;
6062            p.initCost();
6063            BURS_TreeNode lchild, rchild;
6064            lchild = p.child1;
6065            rchild = p.child2;
6066            label(lchild);
6067            label(rchild);
6068            int c;
6069            if (    // stm: DOUBLE_STORE(r,OTHER_OPERAND(riv,riv))
6070                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6071            ) {
6072                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_riv + 17;
6073                    if (c < p.cost_stm) {
6074                            p.cost_stm = (char)(c);
6075                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x82; // p.stm = 130
6076                    }
6077            }
6078    }
6079    
6080    private void label_PREPARE_INT(BURS_TreeNode p) {
6081            p.word0 = 0;
6082            p.initCost();
6083            BURS_TreeNode lchild, rchild;
6084            lchild = p.child1;
6085            rchild = p.child2;
6086            label(lchild);
6087            label(rchild);
6088            int c;
6089            // r: PREPARE_INT(riv,riv)
6090            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 15;
6091            if (c < p.cost_r) {
6092                    p.cost_r = (char)(c);
6093                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x7F00; // p.r = 127
6094                    closure_r(p, c);
6095            }
6096            // r: PREPARE_INT(r,address1scaledreg)
6097            c = STATE(lchild).cost_r + STATE(rchild).cost_address1scaledreg + 15;
6098            if (c < p.cost_r) {
6099                    p.cost_r = (char)(c);
6100                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8000; // p.r = 128
6101                    closure_r(p, c);
6102            }
6103            // r: PREPARE_INT(address1scaledreg,r)
6104            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_r + 15;
6105            if (c < p.cost_r) {
6106                    p.cost_r = (char)(c);
6107                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8100; // p.r = 129
6108                    closure_r(p, c);
6109            }
6110            // r: PREPARE_INT(address1scaledreg,address1reg)
6111            c = STATE(lchild).cost_address1scaledreg + STATE(rchild).cost_address1reg + 15;
6112            if (c < p.cost_r) {
6113                    p.cost_r = (char)(c);
6114                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8200; // p.r = 130
6115                    closure_r(p, c);
6116            }
6117            // r: PREPARE_INT(address1reg,address1scaledreg)
6118            c = STATE(lchild).cost_address1reg + STATE(rchild).cost_address1scaledreg + 15;
6119            if (c < p.cost_r) {
6120                    p.cost_r = (char)(c);
6121                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8300; // p.r = 131
6122                    closure_r(p, c);
6123            }
6124            if (    // r: PREPARE_INT(address,INT_CONSTANT)
6125                    rchild.getOpcode() == INT_CONSTANT_opcode 
6126            ) {
6127                    c = STATE(lchild).cost_address + 15;
6128                    if (c < p.cost_r) {
6129                            p.cost_r = (char)(c);
6130                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8400; // p.r = 132
6131                            closure_r(p, c);
6132                    }
6133            }
6134            if (    // r: PREPARE_INT(INT_CONSTANT,address)
6135                    lchild.getOpcode() == INT_CONSTANT_opcode 
6136            ) {
6137                    c = STATE(rchild).cost_address + 15;
6138                    if (c < p.cost_r) {
6139                            p.cost_r = (char)(c);
6140                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8500; // p.r = 133
6141                            closure_r(p, c);
6142                    }
6143            }
6144    }
6145    
6146    private void label_PREPARE_LONG(BURS_TreeNode p) {
6147            p.word0 = 0;
6148            p.initCost();
6149            BURS_TreeNode lchild, rchild;
6150            lchild = p.child1;
6151            rchild = p.child2;
6152            label(lchild);
6153            label(rchild);
6154            int c;
6155            // r: PREPARE_LONG(riv,riv)
6156            c = STATE(lchild).cost_riv + STATE(rchild).cost_riv + 30;
6157            if (c < p.cost_r) {
6158                    p.cost_r = (char)(c);
6159                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x8600; // p.r = 134
6160                    closure_r(p, c);
6161            }
6162    }
6163    
6164    private void label_ATTEMPT_INT(BURS_TreeNode p) {
6165            p.word0 = 0;
6166            p.initCost();
6167            BURS_TreeNode lchild, rchild;
6168            lchild = p.child1;
6169            rchild = p.child2;
6170            label(lchild);
6171            label(rchild);
6172            int c;
6173            if (    // r: ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv)))
6174                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6175                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6176            ) {
6177                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6178                    if (c < p.cost_r) {
6179                            p.cost_r = (char)(c);
6180                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8700; // p.r = 135
6181                            closure_r(p, c);
6182                    }
6183            }
6184            if (    // r: ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
6185                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6186                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6187            ) {
6188                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_address1scaledreg + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6189                    if (c < p.cost_r) {
6190                            p.cost_r = (char)(c);
6191                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8800; // p.r = 136
6192                            closure_r(p, c);
6193                    }
6194            }
6195            if (    // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv)))
6196                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6197                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6198            ) {
6199                    c = STATE(lchild).cost_address1scaledreg + STATE(rchild.child1).cost_r + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6200                    if (c < p.cost_r) {
6201                            p.cost_r = (char)(c);
6202                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8900; // p.r = 137
6203                            closure_r(p, c);
6204                    }
6205            }
6206            if (    // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv)))
6207                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6208                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6209            ) {
6210                    c = STATE(lchild).cost_address1scaledreg + STATE(rchild.child1).cost_address1reg + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6211                    if (c < p.cost_r) {
6212                            p.cost_r = (char)(c);
6213                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8A00; // p.r = 138
6214                            closure_r(p, c);
6215                    }
6216            }
6217            if (    // r: ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
6218                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6219                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6220            ) {
6221                    c = STATE(lchild).cost_address1reg + STATE(rchild.child1).cost_address1scaledreg + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6222                    if (c < p.cost_r) {
6223                            p.cost_r = (char)(c);
6224                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8B00; // p.r = 139
6225                            closure_r(p, c);
6226                    }
6227            }
6228            if (    // r: ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv)))
6229                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6230                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
6231                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6232            ) {
6233                    c = STATE(lchild).cost_address + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6234                    if (c < p.cost_r) {
6235                            p.cost_r = (char)(c);
6236                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8C00; // p.r = 140
6237                            closure_r(p, c);
6238                    }
6239            }
6240            if (    // r: ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv)))
6241                    lchild.getOpcode() == INT_CONSTANT_opcode && 
6242                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6243                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6244            ) {
6245                    c = STATE(rchild.child1).cost_address + STATE(rchild.child2.child1).cost_riv + STATE(rchild.child2.child2).cost_riv + 67;
6246                    if (c < p.cost_r) {
6247                            p.cost_r = (char)(c);
6248                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8D00; // p.r = 141
6249                            closure_r(p, c);
6250                    }
6251            }
6252    }
6253    
6254    private void label_ATTEMPT_LONG(BURS_TreeNode p) {
6255            p.word0 = 0;
6256            p.initCost();
6257            BURS_TreeNode lchild, rchild;
6258            lchild = p.child1;
6259            rchild = p.child2;
6260            label(lchild);
6261            label(rchild);
6262            int c;
6263            if (    // r: ATTEMPT_LONG(riv,OTHER_OPERAND(riv,OTHER_OPERAND(rlv,rlv)))
6264                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6265                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
6266            ) {
6267                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_riv + STATE(rchild.child2.child1).cost_rlv + STATE(rchild.child2.child2).cost_rlv + 67;
6268                    if (c < p.cost_r) {
6269                            p.cost_r = (char)(c);
6270                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x8E00; // p.r = 142
6271                            closure_r(p, c);
6272                    }
6273            }
6274    }
6275    
6276    private void label_CALL(BURS_TreeNode p) {
6277            p.word0 = 0;
6278            p.initCost();
6279            BURS_TreeNode lchild, rchild;
6280            lchild = p.child1;
6281            rchild = p.child2;
6282            label(lchild);
6283            label(rchild);
6284            int c;
6285            // r: CALL(r,any)
6286            c = STATE(lchild).cost_r + STATE(rchild).cost_any + 13;
6287            if (c < p.cost_r) {
6288                    p.cost_r = (char)(c);
6289                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9000; // p.r = 144
6290                    closure_r(p, c);
6291            }
6292            if (    // r: CALL(BRANCH_TARGET,any)
6293                    lchild.getOpcode() == BRANCH_TARGET_opcode 
6294            ) {
6295                    c = STATE(rchild).cost_any + 13;
6296                    if (c < p.cost_r) {
6297                            p.cost_r = (char)(c);
6298                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x9100; // p.r = 145
6299                            closure_r(p, c);
6300                    }
6301            }
6302            if (    // r: CALL(INT_LOAD(riv,riv),any)
6303                    lchild.getOpcode() == INT_LOAD_opcode 
6304            ) {
6305                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild).cost_any + 11;
6306                    if (c < p.cost_r) {
6307                            p.cost_r = (char)(c);
6308                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x9200; // p.r = 146
6309                            closure_r(p, c);
6310                    }
6311            }
6312            if (    // r: CALL(INT_CONSTANT,any)
6313                    lchild.getOpcode() == INT_CONSTANT_opcode 
6314            ) {
6315                    c = STATE(rchild).cost_any + 23;
6316                    if (c < p.cost_r) {
6317                            p.cost_r = (char)(c);
6318                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x9300; // p.r = 147
6319                            closure_r(p, c);
6320                    }
6321            }
6322    }
6323    
6324    private void label_SYSCALL(BURS_TreeNode p) {
6325            p.word0 = 0;
6326            p.initCost();
6327            BURS_TreeNode lchild, rchild;
6328            lchild = p.child1;
6329            rchild = p.child2;
6330            label(lchild);
6331            label(rchild);
6332            int c;
6333            // r: SYSCALL(r,any)
6334            c = STATE(lchild).cost_r + STATE(rchild).cost_any + 13;
6335            if (c < p.cost_r) {
6336                    p.cost_r = (char)(c);
6337                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9400; // p.r = 148
6338                    closure_r(p, c);
6339            }
6340            if (    // r: SYSCALL(INT_LOAD(riv,riv),any)
6341                    lchild.getOpcode() == INT_LOAD_opcode 
6342            ) {
6343                    c = STATE(lchild.child1).cost_riv + STATE(lchild.child2).cost_riv + STATE(rchild).cost_any + 11;
6344                    if (c < p.cost_r) {
6345                            p.cost_r = (char)(c);
6346                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x9500; // p.r = 149
6347                            closure_r(p, c);
6348                    }
6349            }
6350            if (    // r: SYSCALL(INT_CONSTANT,any)
6351                    lchild.getOpcode() == INT_CONSTANT_opcode 
6352            ) {
6353                    c = STATE(rchild).cost_any + 23;
6354                    if (c < p.cost_r) {
6355                            p.cost_r = (char)(c);
6356                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x9600; // p.r = 150
6357                            closure_r(p, c);
6358                    }
6359            }
6360    }
6361    
6362    private void label_YIELDPOINT_PROLOGUE(BURS_TreeNode p) {
6363            p.word0 = 0;
6364            p.initCost();
6365            // stm: YIELDPOINT_PROLOGUE
6366            if (10 < p.cost_stm) {
6367                    p.cost_stm = (char)(10);
6368                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x5; // p.stm = 5
6369            }
6370    }
6371    
6372    private void label_YIELDPOINT_EPILOGUE(BURS_TreeNode p) {
6373            p.word0 = 0;
6374            p.initCost();
6375            // stm: YIELDPOINT_EPILOGUE
6376            if (10 < p.cost_stm) {
6377                    p.cost_stm = (char)(10);
6378                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x6; // p.stm = 6
6379            }
6380    }
6381    
6382    private void label_YIELDPOINT_BACKEDGE(BURS_TreeNode p) {
6383            p.word0 = 0;
6384            p.initCost();
6385            // stm: YIELDPOINT_BACKEDGE
6386            if (10 < p.cost_stm) {
6387                    p.cost_stm = (char)(10);
6388                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x7; // p.stm = 7
6389            }
6390    }
6391    
6392    private void label_YIELDPOINT_OSR(BURS_TreeNode p) {
6393            p.word0 = 0;
6394            p.initCost();
6395            BURS_TreeNode lchild, rchild;
6396            lchild = p.child1;
6397            rchild = p.child2;
6398            label(lchild);
6399            label(rchild);
6400            int c;
6401            // stm: YIELDPOINT_OSR(any,any)
6402            c = STATE(lchild).cost_any + STATE(rchild).cost_any + 10;
6403            if (c < p.cost_stm) {
6404                    p.cost_stm = (char)(c);
6405                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x81; // p.stm = 129
6406            }
6407    }
6408    
6409    private void label_IR_PROLOGUE(BURS_TreeNode p) {
6410            p.word0 = 0;
6411            p.initCost();
6412            // stm: IR_PROLOGUE
6413            if (11 < p.cost_stm) {
6414                    p.cost_stm = (char)(11);
6415                    p.word0 = (p.word0 & 0xFFFFFF00) | 0xC; // p.stm = 12
6416            }
6417    }
6418    
6419    private void label_RESOLVE(BURS_TreeNode p) {
6420            p.word0 = 0;
6421            p.initCost();
6422            // stm: RESOLVE
6423            if (10 < p.cost_stm) {
6424                    p.cost_stm = (char)(10);
6425                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x9; // p.stm = 9
6426            }
6427    }
6428    
6429    private void label_GET_TIME_BASE(BURS_TreeNode p) {
6430            p.word0 = 0;
6431            p.initCost();
6432            // r: GET_TIME_BASE
6433            if (15 < p.cost_r) {
6434                    p.cost_r = (char)(15);
6435                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x9700; // p.r = 151
6436                    closure_r(p, 15);
6437            }
6438    }
6439    
6440    private void label_TRAP_IF(BURS_TreeNode p) {
6441            p.word0 = 0;
6442            p.initCost();
6443            BURS_TreeNode lchild, rchild;
6444            lchild = p.child1;
6445            rchild = p.child2;
6446            label(lchild);
6447            label(rchild);
6448            int c;
6449            if (    // stm: TRAP_IF(r,INT_CONSTANT)
6450                    rchild.getOpcode() == INT_CONSTANT_opcode 
6451            ) {
6452                    c = STATE(lchild).cost_r + 10;
6453                    if (c < p.cost_stm) {
6454                            p.cost_stm = (char)(c);
6455                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x10; // p.stm = 16
6456                    }
6457            }
6458            if (    // stm: TRAP_IF(r,LONG_CONSTANT)
6459                    rchild.getOpcode() == LONG_CONSTANT_opcode 
6460            ) {
6461                    c = STATE(lchild).cost_r + 10;
6462                    if (c < p.cost_stm) {
6463                            p.cost_stm = (char)(c);
6464                            p.word0 = (p.word0 & 0xFFFFFF00) | 0x11; // p.stm = 17
6465                    }
6466            }
6467            // stm: TRAP_IF(r,r)
6468            c = STATE(lchild).cost_r + STATE(rchild).cost_r + 10;
6469            if (c < p.cost_stm) {
6470                    p.cost_stm = (char)(c);
6471                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x12; // p.stm = 18
6472            }
6473            // stm: TRAP_IF(load32,riv)
6474            c = STATE(lchild).cost_load32 + STATE(rchild).cost_riv + 15;
6475            if (c < p.cost_stm) {
6476                    p.cost_stm = (char)(c);
6477                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x13; // p.stm = 19
6478            }
6479            // stm: TRAP_IF(riv,load32)
6480            c = STATE(lchild).cost_riv + STATE(rchild).cost_load32 + 15;
6481            if (c < p.cost_stm) {
6482                    p.cost_stm = (char)(c);
6483                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x14; // p.stm = 20
6484            }
6485    }
6486    
6487    private void label_TRAP(BURS_TreeNode p) {
6488            p.word0 = 0;
6489            p.initCost();
6490            // stm: TRAP
6491            if (10 < p.cost_stm) {
6492                    p.cost_stm = (char)(10);
6493                    p.word0 = (p.word0 & 0xFFFFFF00) | 0xF; // p.stm = 15
6494            }
6495    }
6496    
6497    private void label_FLOAT_AS_INT_BITS(BURS_TreeNode p) {
6498            p.word0 = 0;
6499            p.initCost();
6500            BURS_TreeNode lchild;
6501            lchild = p.child1;
6502            label(lchild);
6503            int c;
6504            // r: FLOAT_AS_INT_BITS(r)
6505            c = STATE(lchild).cost_r + 13;
6506            if (c < p.cost_r) {
6507                    p.cost_r = (char)(c);
6508                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC600; // p.r = 198
6509                    closure_r(p, c);
6510            }
6511            // load32: FLOAT_AS_INT_BITS(float_load)
6512            c = STATE(lchild).cost_float_load + 0;
6513            if (c < p.cost_load32) {
6514                    p.cost_load32 = (char)(c);
6515                    p.word1 = (p.word1 & 0xFFE3FFFF) | 0x180000; // p.load32 = 6
6516                    closure_load32(p, c);
6517            }
6518    }
6519    
6520    private void label_INT_BITS_AS_FLOAT(BURS_TreeNode p) {
6521            p.word0 = 0;
6522            p.initCost();
6523            BURS_TreeNode lchild;
6524            lchild = p.child1;
6525            label(lchild);
6526            int c;
6527            // r: INT_BITS_AS_FLOAT(riv)
6528            c = STATE(lchild).cost_riv + 13;
6529            if (c < p.cost_r) {
6530                    p.cost_r = (char)(c);
6531                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC800; // p.r = 200
6532                    closure_r(p, c);
6533            }
6534            // float_load: INT_BITS_AS_FLOAT(load32)
6535            c = STATE(lchild).cost_load32 + 0;
6536            if (c < p.cost_float_load) {
6537                    p.cost_float_load = (char)(c);
6538                    p.word2 = (p.word2 & 0xFFFC7FFF) | 0x18000; // p.float_load = 3
6539            }
6540    }
6541    
6542    private void label_DOUBLE_AS_LONG_BITS(BURS_TreeNode p) {
6543            p.word0 = 0;
6544            p.initCost();
6545            BURS_TreeNode lchild;
6546            lchild = p.child1;
6547            label(lchild);
6548            int c;
6549            // r: DOUBLE_AS_LONG_BITS(r)
6550            c = STATE(lchild).cost_r + 13;
6551            if (c < p.cost_r) {
6552                    p.cost_r = (char)(c);
6553                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC700; // p.r = 199
6554                    closure_r(p, c);
6555            }
6556            // load64: DOUBLE_AS_LONG_BITS(double_load)
6557            c = STATE(lchild).cost_double_load + 0;
6558            if (c < p.cost_load64) {
6559                    p.cost_load64 = (char)(c);
6560                    p.word1 = (p.word1 & 0xF1FFFFFF) | 0x8000000; // p.load64 = 4
6561            }
6562    }
6563    
6564    private void label_LONG_BITS_AS_DOUBLE(BURS_TreeNode p) {
6565            p.word0 = 0;
6566            p.initCost();
6567            BURS_TreeNode lchild;
6568            lchild = p.child1;
6569            label(lchild);
6570            int c;
6571            // r: LONG_BITS_AS_DOUBLE(rlv)
6572            c = STATE(lchild).cost_rlv + 13;
6573            if (c < p.cost_r) {
6574                    p.cost_r = (char)(c);
6575                    p.word0 = (p.word0 & 0xFFFF00FF) | 0xC900; // p.r = 201
6576                    closure_r(p, c);
6577            }
6578            // double_load: LONG_BITS_AS_DOUBLE(load64)
6579            c = STATE(lchild).cost_load64 + 0;
6580            if (c < p.cost_double_load) {
6581                    p.cost_double_load = (char)(c);
6582                    p.word2 = (p.word2 & 0xFFE3FFFF) | 0xC0000; // p.double_load = 3
6583            }
6584    }
6585    
6586    private void label_LOWTABLESWITCH(BURS_TreeNode p) {
6587            p.word0 = 0;
6588            p.initCost();
6589            BURS_TreeNode lchild;
6590            lchild = p.child1;
6591            label(lchild);
6592            int c;
6593            // stm: LOWTABLESWITCH(r)
6594            c = STATE(lchild).cost_r + 10;
6595            if (c < p.cost_stm) {
6596                    p.cost_stm = (char)(c);
6597                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x8; // p.stm = 8
6598            }
6599    }
6600    
6601    private void label_ADDRESS_CONSTANT(BURS_TreeNode p) {
6602            p.word0 = 0;
6603            p.initCost();
6604            // any: ADDRESS_CONSTANT
6605            if (0 < p.cost_any) {
6606                    p.cost_any = (char)(0);
6607                    p.word1 = (p.word1 & 0xFFFFFFE3) | 0xC; // p.any = 3
6608            }
6609    }
6610    
6611    private void label_INT_CONSTANT(BURS_TreeNode p) {
6612            p.word0 = 0;
6613            p.initCost();
6614            // riv: INT_CONSTANT
6615            if (0 < p.cost_riv) {
6616                    p.cost_riv = (char)(0);
6617                    p.word0 = (p.word0 & 0x9FFFFFFF) | 0x40000000; // p.riv = 2
6618                    closure_riv(p, 0);
6619            }
6620    }
6621    
6622    private void label_LONG_CONSTANT(BURS_TreeNode p) {
6623            p.word0 = 0;
6624            p.initCost();
6625            // rlv: LONG_CONSTANT
6626            if (0 < p.cost_rlv) {
6627                    p.cost_rlv = (char)(0);
6628                    p.word1 = (p.word1 & 0xFFFFFFFC) | 0x2; // p.rlv = 2
6629            }
6630            // any: LONG_CONSTANT
6631            if (0 < p.cost_any) {
6632                    p.cost_any = (char)(0);
6633                    p.word1 = (p.word1 & 0xFFFFFFE3) | 0x10; // p.any = 4
6634            }
6635    }
6636    
6637    private void label_REGISTER(BURS_TreeNode p) {
6638            p.word0 = 0;
6639            p.initCost();
6640            // r: REGISTER
6641            if (0 < p.cost_r) {
6642                    p.cost_r = (char)(0);
6643                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x100; // p.r = 1
6644                    closure_r(p, 0);
6645            }
6646    }
6647    
6648    private void label_OTHER_OPERAND(BURS_TreeNode p) {
6649            p.word0 = 0;
6650            p.initCost();
6651            BURS_TreeNode lchild, rchild;
6652            lchild = p.child1;
6653            rchild = p.child2;
6654            label(lchild);
6655            label(rchild);
6656            int c;
6657            // any: OTHER_OPERAND(any,any)
6658            c = STATE(lchild).cost_any + STATE(rchild).cost_any + 0;
6659            if (c < p.cost_any) {
6660                    p.cost_any = (char)(c);
6661                    p.word1 = (p.word1 & 0xFFFFFFE3) | 0x14; // p.any = 5
6662            }
6663    }
6664    
6665    private void label_NULL(BURS_TreeNode p) {
6666            p.word0 = 0;
6667            p.initCost();
6668            // any: NULL
6669            if (0 < p.cost_any) {
6670                    p.cost_any = (char)(0);
6671                    p.word1 = (p.word1 & 0xFFFFFFE3) | 0x4; // p.any = 1
6672            }
6673    }
6674    
6675    private void label_BRANCH_TARGET(BURS_TreeNode p) {
6676            p.word0 = 0;
6677            p.initCost();
6678    }
6679    
6680    private void label_MATERIALIZE_FP_CONSTANT(BURS_TreeNode p) {
6681            p.word0 = 0;
6682            p.initCost();
6683            BURS_TreeNode lchild;
6684            lchild = p.child1;
6685            label(lchild);
6686            int c;
6687            if (    // r: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
6688                    lchild.getOpcode() == INT_CONSTANT_opcode 
6689            ) {
6690                    c = 15;
6691                    if (c < p.cost_r) {
6692                            p.cost_r = (char)(c);
6693                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCA00; // p.r = 202
6694                            closure_r(p, c);
6695                    }
6696            }
6697            if (    // float_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
6698                    lchild.getOpcode() == INT_CONSTANT_opcode 
6699            ) {
6700                    c = (Binary.getResult(P(p)).isFloat() ? 0 : INFINITE);
6701                    if (c < p.cost_float_load) {
6702                            p.cost_float_load = (char)(c);
6703                            p.word2 = (p.word2 & 0xFFFC7FFF) | 0x20000; // p.float_load = 4
6704                    }
6705            }
6706            if (    // double_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
6707                    lchild.getOpcode() == INT_CONSTANT_opcode 
6708            ) {
6709                    c = (Binary.getResult(P(p)).isDouble() ? 0 : INFINITE);
6710                    if (c < p.cost_double_load) {
6711                            p.cost_double_load = (char)(c);
6712                            p.word2 = (p.word2 & 0xFFE3FFFF) | 0x100000; // p.double_load = 4
6713                    }
6714            }
6715    }
6716    
6717    private void label_GET_CURRENT_PROCESSOR(BURS_TreeNode p) {
6718            p.word0 = 0;
6719            p.initCost();
6720            // r: GET_CURRENT_PROCESSOR
6721            if (15 < p.cost_r) {
6722                    p.cost_r = (char)(15);
6723                    p.word0 = (p.word0 & 0xFFFF00FF) | 0x6600; // p.r = 102
6724                    closure_r(p, 15);
6725            }
6726    }
6727    
6728    private void label_CLEAR_FLOATING_POINT_STATE(BURS_TreeNode p) {
6729            p.word0 = 0;
6730            p.initCost();
6731            // stm: CLEAR_FLOATING_POINT_STATE
6732            if (0 < p.cost_stm) {
6733                    p.cost_stm = (char)(0);
6734                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x86; // p.stm = 134
6735            }
6736    }
6737    
6738    private void label_PREFETCH(BURS_TreeNode p) {
6739            p.word0 = 0;
6740            p.initCost();
6741            BURS_TreeNode lchild;
6742            lchild = p.child1;
6743            label(lchild);
6744            int c;
6745            // stm: PREFETCH(r)
6746            c = STATE(lchild).cost_r + 11;
6747            if (c < p.cost_stm) {
6748                    p.cost_stm = (char)(c);
6749                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x78; // p.stm = 120
6750            }
6751    }
6752    
6753    private void label_PAUSE(BURS_TreeNode p) {
6754            p.word0 = 0;
6755            p.initCost();
6756            // stm: PAUSE
6757            if (11 < p.cost_stm) {
6758                    p.cost_stm = (char)(11);
6759                    p.word0 = (p.word0 & 0xFFFFFF00) | 0x7C; // p.stm = 124
6760            }
6761    }
6762    
6763    private void label_CMP_CMOV(BURS_TreeNode p) {
6764            p.word0 = 0;
6765            p.initCost();
6766            BURS_TreeNode lchild, rchild;
6767            lchild = p.child1;
6768            rchild = p.child2;
6769            label(lchild);
6770            label(rchild);
6771            int c;
6772            if (    // r: CMP_CMOV(r,OTHER_OPERAND(riv,any))
6773                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6774            ) {
6775                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_any + (13 + 30);
6776                    if (c < p.cost_r) {
6777                            p.cost_r = (char)(c);
6778                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1C00; // p.r = 28
6779                            closure_r(p, c);
6780                    }
6781            }
6782            if (    // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,any))
6783                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6784                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6785            ) {
6786                    c = STATE(lchild).cost_r + STATE(rchild.child2).cost_any + (VRL(p) == 0 && CMP_TO_TEST(CondMove.getCond(P(p))) ? (11 + 30):INFINITE);
6787                    if (c < p.cost_r) {
6788                            p.cost_r = (char)(c);
6789                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1D00; // p.r = 29
6790                            closure_r(p, c);
6791                    }
6792            }
6793            if (    // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
6794                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6795                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
6796                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
6797                    rchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
6798                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
6799            ) {
6800                    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);
6801                    if (c < p.cost_r) {
6802                            p.cost_r = (char)(c);
6803                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1E00; // p.r = 30
6804                            closure_r(p, c);
6805                    }
6806            }
6807            if (    // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
6808                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6809                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
6810                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
6811                    rchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
6812                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
6813            ) {
6814                    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);
6815                    if (c < p.cost_r) {
6816                            p.cost_r = (char)(c);
6817                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x1F00; // p.r = 31
6818                            closure_r(p, c);
6819                    }
6820            }
6821            if (    // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
6822                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6823                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
6824                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
6825                    rchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
6826                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
6827            ) {
6828                    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);
6829                    if (c < p.cost_r) {
6830                            p.cost_r = (char)(c);
6831                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2000; // p.r = 32
6832                            closure_r(p, c);
6833                    }
6834            }
6835            if (    // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
6836                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6837                    rchild.child1.getOpcode() == INT_CONSTANT_opcode && 
6838                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
6839                    rchild.child2.child1.getOpcode() == INT_CONSTANT_opcode && 
6840                    rchild.child2.child2.getOpcode() == INT_CONSTANT_opcode 
6841            ) {
6842                    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);
6843                    if (c < p.cost_r) {
6844                            p.cost_r = (char)(c);
6845                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2100; // p.r = 33
6846                            closure_r(p, c);
6847                    }
6848            }
6849            if (    // r: CMP_CMOV(load8,OTHER_OPERAND(INT_CONSTANT,any))
6850                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6851                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6852            ) {
6853                    c = STATE(lchild).cost_load8 + STATE(rchild.child2).cost_any + FITS(CondMove.getVal2(P(p)), 8, (15 + 30));
6854                    if (c < p.cost_r) {
6855                            p.cost_r = (char)(c);
6856                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2200; // p.r = 34
6857                            closure_r(p, c);
6858                    }
6859            }
6860            if (    // r: CMP_CMOV(uload8,OTHER_OPERAND(riv,any))
6861                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6862            ) {
6863                    c = STATE(lchild).cost_uload8 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_any + (15 + 30);
6864                    if (c < p.cost_r) {
6865                            p.cost_r = (char)(c);
6866                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2300; // p.r = 35
6867                            closure_r(p, c);
6868                    }
6869            }
6870            if (    // r: CMP_CMOV(riv,OTHER_OPERAND(uload8,any))
6871                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6872            ) {
6873                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_uload8 + STATE(rchild.child2).cost_any + (15 + 30);
6874                    if (c < p.cost_r) {
6875                            p.cost_r = (char)(c);
6876                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2400; // p.r = 36
6877                            closure_r(p, c);
6878                    }
6879            }
6880            if (    // r: CMP_CMOV(sload16,OTHER_OPERAND(INT_CONSTANT,any))
6881                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6882                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6883            ) {
6884                    c = STATE(lchild).cost_sload16 + STATE(rchild.child2).cost_any + FITS(CondMove.getVal2(P(p)), 8, (15 + 30));
6885                    if (c < p.cost_r) {
6886                            p.cost_r = (char)(c);
6887                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2500; // p.r = 37
6888                            closure_r(p, c);
6889                    }
6890            }
6891            if (    // r: CMP_CMOV(load32,OTHER_OPERAND(riv,any))
6892                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6893            ) {
6894                    c = STATE(lchild).cost_load32 + STATE(rchild.child1).cost_riv + STATE(rchild.child2).cost_any + (15 + 30);
6895                    if (c < p.cost_r) {
6896                            p.cost_r = (char)(c);
6897                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2600; // p.r = 38
6898                            closure_r(p, c);
6899                    }
6900            }
6901            if (    // r: CMP_CMOV(riv,OTHER_OPERAND(load32,any))
6902                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6903            ) {
6904                    c = STATE(lchild).cost_riv + STATE(rchild.child1).cost_load32 + STATE(rchild.child2).cost_any + (15 + 30);
6905                    if (c < p.cost_r) {
6906                            p.cost_r = (char)(c);
6907                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2700; // p.r = 39
6908                            closure_r(p, c);
6909                    }
6910            }
6911            if (    // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
6912                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6913                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6914            ) {
6915                    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);
6916                    if (c < p.cost_r) {
6917                            p.cost_r = (char)(c);
6918                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2800; // p.r = 40
6919                            closure_r(p, c);
6920                    }
6921            }
6922            if (    // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
6923                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6924                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6925            ) {
6926                    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);
6927                    if (c < p.cost_r) {
6928                            p.cost_r = (char)(c);
6929                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2900; // p.r = 41
6930                            closure_r(p, c);
6931                    }
6932            }
6933            if (    // r: CMP_CMOV(bittest,OTHER_OPERAND(INT_CONSTANT,any))
6934                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6935                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6936            ) {
6937                    c = STATE(lchild).cost_bittest + STATE(rchild.child2).cost_any + ((VRL(p) == 0 || VRL(p) == 1) && EQ_NE(CondMove.getCond(P(p))) ? 30 : INFINITE);
6938                    if (c < p.cost_r) {
6939                            p.cost_r = (char)(c);
6940                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2A00; // p.r = 42
6941                            closure_r(p, c);
6942                    }
6943            }
6944            if (    // r: CMP_CMOV(cz,OTHER_OPERAND(INT_CONSTANT,any))
6945                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6946                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6947            ) {
6948                    c = STATE(lchild).cost_cz + STATE(rchild.child2).cost_any + isZERO(VRL(p), 30);
6949                    if (c < p.cost_r) {
6950                            p.cost_r = (char)(c);
6951                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2B00; // p.r = 43
6952                            closure_r(p, c);
6953                    }
6954            }
6955            if (    // r: CMP_CMOV(szp,OTHER_OPERAND(INT_CONSTANT,any))
6956                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
6957                    rchild.child1.getOpcode() == INT_CONSTANT_opcode 
6958            ) {
6959                    c = STATE(lchild).cost_szp + STATE(rchild.child2).cost_any + isZERO(VRL(p), 30);
6960                    if (c < p.cost_r) {
6961                            p.cost_r = (char)(c);
6962                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2C00; // p.r = 44
6963                            closure_r(p, c);
6964                    }
6965            }
6966    }
6967    
6968    private void label_FCMP_CMOV(BURS_TreeNode p) {
6969            p.word0 = 0;
6970            p.initCost();
6971            BURS_TreeNode lchild, rchild;
6972            lchild = p.child1;
6973            rchild = p.child2;
6974            label(lchild);
6975            label(rchild);
6976            int c;
6977            if (    // r: FCMP_CMOV(r,OTHER_OPERAND(r,any))
6978                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6979            ) {
6980                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2).cost_any + 13*2;
6981                    if (c < p.cost_r) {
6982                            p.cost_r = (char)(c);
6983                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCB00; // p.r = 203
6984                            closure_r(p, c);
6985                    }
6986            }
6987            if (    // r: FCMP_CMOV(r,OTHER_OPERAND(float_load,any))
6988                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6989            ) {
6990                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_float_load + STATE(rchild.child2).cost_any + 13+15;
6991                    if (c < p.cost_r) {
6992                            p.cost_r = (char)(c);
6993                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCC00; // p.r = 204
6994                            closure_r(p, c);
6995                    }
6996            }
6997            if (    // r: FCMP_CMOV(r,OTHER_OPERAND(double_load,any))
6998                    rchild.getOpcode() == OTHER_OPERAND_opcode 
6999            ) {
7000                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_double_load + STATE(rchild.child2).cost_any + 13+15;
7001                    if (c < p.cost_r) {
7002                            p.cost_r = (char)(c);
7003                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCD00; // p.r = 205
7004                            closure_r(p, c);
7005                    }
7006            }
7007            if (    // r: FCMP_CMOV(float_load,OTHER_OPERAND(r,any))
7008                    rchild.getOpcode() == OTHER_OPERAND_opcode 
7009            ) {
7010                    c = STATE(lchild).cost_float_load + STATE(rchild.child1).cost_r + STATE(rchild.child2).cost_any + 13+15;
7011                    if (c < p.cost_r) {
7012                            p.cost_r = (char)(c);
7013                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCE00; // p.r = 206
7014                            closure_r(p, c);
7015                    }
7016            }
7017            if (    // r: FCMP_CMOV(double_load,OTHER_OPERAND(r,any))
7018                    rchild.getOpcode() == OTHER_OPERAND_opcode 
7019            ) {
7020                    c = STATE(lchild).cost_double_load + STATE(rchild.child1).cost_r + STATE(rchild.child2).cost_any + 13+15;
7021                    if (c < p.cost_r) {
7022                            p.cost_r = (char)(c);
7023                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xCF00; // p.r = 207
7024                            closure_r(p, c);
7025                    }
7026            }
7027    }
7028    
7029    private void label_LCMP_CMOV(BURS_TreeNode p) {
7030            p.word0 = 0;
7031            p.initCost();
7032            BURS_TreeNode lchild, rchild;
7033            lchild = p.child1;
7034            rchild = p.child2;
7035            label(lchild);
7036            label(rchild);
7037            int c;
7038            if (    // r: LCMP_CMOV(r,OTHER_OPERAND(rlv,any))
7039                    rchild.getOpcode() == OTHER_OPERAND_opcode 
7040            ) {
7041                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_rlv + STATE(rchild.child2).cost_any + (8*13 + 30);
7042                    if (c < p.cost_r) {
7043                            p.cost_r = (char)(c);
7044                            p.word0 = (p.word0 & 0xFFFF00FF) | 0x2D00; // p.r = 45
7045                            closure_r(p, c);
7046                    }
7047            }
7048    }
7049    
7050    private void label_FCMP_FCMOV(BURS_TreeNode p) {
7051            p.word0 = 0;
7052            p.initCost();
7053            BURS_TreeNode lchild, rchild;
7054            lchild = p.child1;
7055            rchild = p.child2;
7056            label(lchild);
7057            label(rchild);
7058            int c;
7059            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(r,any))
7060                    rchild.getOpcode() == OTHER_OPERAND_opcode 
7061            ) {
7062                    c = STATE(lchild).cost_r + STATE(rchild.child1).cost_r + STATE(rchild.child2).cost_any + 13*4;
7063                    if (c < p.cost_r) {
7064                            p.cost_r = (char)(c);
7065                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD000; // p.r = 208
7066                            closure_r(p, c);
7067                    }
7068            }
7069            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,float_load)))
7070                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7071                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
7072            ) {
7073                    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;
7074                    if (c < p.cost_r) {
7075                            p.cost_r = (char)(c);
7076                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD100; // p.r = 209
7077                            closure_r(p, c);
7078                    }
7079            }
7080            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,double_load)))
7081                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7082                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
7083            ) {
7084                    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;
7085                    if (c < p.cost_r) {
7086                            p.cost_r = (char)(c);
7087                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD200; // p.r = 210
7088                            closure_r(p, c);
7089                    }
7090            }
7091            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(float_load,r)))
7092                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7093                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
7094            ) {
7095                    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;
7096                    if (c < p.cost_r) {
7097                            p.cost_r = (char)(c);
7098                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD300; // p.r = 211
7099                            closure_r(p, c);
7100                    }
7101            }
7102            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(double_load,r)))
7103                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7104                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode 
7105            ) {
7106                    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;
7107                    if (c < p.cost_r) {
7108                            p.cost_r = (char)(c);
7109                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD400; // p.r = 212
7110                            closure_r(p, c);
7111                    }
7112            }
7113            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(float_load,any))
7114                    rchild.getOpcode() == OTHER_OPERAND_opcode 
7115            ) {
7116                    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);
7117                    if (c < p.cost_r) {
7118                            p.cost_r = (char)(c);
7119                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD500; // p.r = 213
7120                            closure_r(p, c);
7121                    }
7122            }
7123            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(double_load,any))
7124                    rchild.getOpcode() == OTHER_OPERAND_opcode 
7125            ) {
7126                    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);
7127                    if (c < p.cost_r) {
7128                            p.cost_r = (char)(c);
7129                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD600; // p.r = 214
7130                            closure_r(p, c);
7131                    }
7132            }
7133            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,FLOAT_NEG(r))))
7134                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7135                    rchild.child1.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7136                    rchild.child1.child1.getOpcode() == INT_CONSTANT_opcode && 
7137                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7138                    rchild.child2.child2.getOpcode() == FLOAT_NEG_opcode 
7139            ) {
7140                    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 );
7141                    if (c < p.cost_r) {
7142                            p.cost_r = (char)(c);
7143                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD700; // p.r = 215
7144                            closure_r(p, c);
7145                    }
7146            }
7147            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(FLOAT_NEG(r),r)))
7148                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7149                    rchild.child1.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7150                    rchild.child1.child1.getOpcode() == INT_CONSTANT_opcode && 
7151                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7152                    rchild.child2.child1.getOpcode() == FLOAT_NEG_opcode 
7153            ) {
7154                    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 );
7155                    if (c < p.cost_r) {
7156                            p.cost_r = (char)(c);
7157                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD800; // p.r = 216
7158                            closure_r(p, c);
7159                    }
7160            }
7161            if (    // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(FLOAT_NEG(r),r)))
7162                    lchild.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7163                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
7164                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7165                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7166                    rchild.child2.child1.getOpcode() == FLOAT_NEG_opcode 
7167            ) {
7168                    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 );
7169                    if (c < p.cost_r) {
7170                            p.cost_r = (char)(c);
7171                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xD900; // p.r = 217
7172                            closure_r(p, c);
7173                    }
7174            }
7175            if (    // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,FLOAT_NEG(r))))
7176                    lchild.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7177                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
7178                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7179                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7180                    rchild.child2.child2.getOpcode() == FLOAT_NEG_opcode 
7181            ) {
7182                    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 );
7183                    if (c < p.cost_r) {
7184                            p.cost_r = (char)(c);
7185                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xDA00; // p.r = 218
7186                            closure_r(p, c);
7187                    }
7188            }
7189            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,DOUBLE_NEG(r))))
7190                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7191                    rchild.child1.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7192                    rchild.child1.child1.getOpcode() == INT_CONSTANT_opcode && 
7193                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7194                    rchild.child2.child2.getOpcode() == DOUBLE_NEG_opcode 
7195            ) {
7196                    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 );
7197                    if (c < p.cost_r) {
7198                            p.cost_r = (char)(c);
7199                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xDB00; // p.r = 219
7200                            closure_r(p, c);
7201                    }
7202            }
7203            if (    // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(DOUBLE_NEG(r),r)))
7204                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7205                    rchild.child1.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7206                    rchild.child1.child1.getOpcode() == INT_CONSTANT_opcode && 
7207                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7208                    rchild.child2.child1.getOpcode() == DOUBLE_NEG_opcode 
7209            ) {
7210                    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 );
7211                    if (c < p.cost_r) {
7212                            p.cost_r = (char)(c);
7213                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xDC00; // p.r = 220
7214                            closure_r(p, c);
7215                    }
7216            }
7217            if (    // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(DOUBLE_NEG(r),r)))
7218                    lchild.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7219                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
7220                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7221                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7222                    rchild.child2.child1.getOpcode() == DOUBLE_NEG_opcode 
7223            ) {
7224                    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 );
7225                    if (c < p.cost_r) {
7226                            p.cost_r = (char)(c);
7227                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xDD00; // p.r = 221
7228                            closure_r(p, c);
7229                    }
7230            }
7231            if (    // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,DOUBLE_NEG(r))))
7232                    lchild.getOpcode() == MATERIALIZE_FP_CONSTANT_opcode && 
7233                    lchild.child1.getOpcode() == INT_CONSTANT_opcode && 
7234                    rchild.getOpcode() == OTHER_OPERAND_opcode && 
7235                    rchild.child2.getOpcode() == OTHER_OPERAND_opcode && 
7236                    rchild.child2.child2.getOpcode() == DOUBLE_NEG_opcode 
7237            ) {
7238                    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 );
7239                    if (c < p.cost_r) {
7240                            p.cost_r = (char)(c);
7241                            p.word0 = (p.word0 & 0xFFFF00FF) | 0xDE00; // p.r = 222
7242                            closure_r(p, c);
7243                    }
7244            }
7245    }
7246    
7247    public void label(BURS_TreeNode p) {
7248            p.initCost();
7249            switch (p.getOpcode()) {
7250            case GET_CAUGHT_EXCEPTION_opcode: label_GET_CAUGHT_EXCEPTION(p); break;
7251            case SET_CAUGHT_EXCEPTION_opcode: label_SET_CAUGHT_EXCEPTION(p); break;
7252            case IG_PATCH_POINT_opcode: label_IG_PATCH_POINT(p); break;
7253            case INT_ALOAD_opcode: label_INT_ALOAD(p); break;
7254            case LONG_ALOAD_opcode: label_LONG_ALOAD(p); break;
7255            case FLOAT_ALOAD_opcode: label_FLOAT_ALOAD(p); break;
7256            case DOUBLE_ALOAD_opcode: label_DOUBLE_ALOAD(p); break;
7257            case UBYTE_ALOAD_opcode: label_UBYTE_ALOAD(p); break;
7258            case BYTE_ALOAD_opcode: label_BYTE_ALOAD(p); break;
7259            case USHORT_ALOAD_opcode: label_USHORT_ALOAD(p); break;
7260            case SHORT_ALOAD_opcode: label_SHORT_ALOAD(p); break;
7261            case INT_ASTORE_opcode: label_INT_ASTORE(p); break;
7262            case LONG_ASTORE_opcode: label_LONG_ASTORE(p); break;
7263            case FLOAT_ASTORE_opcode: label_FLOAT_ASTORE(p); break;
7264            case DOUBLE_ASTORE_opcode: label_DOUBLE_ASTORE(p); break;
7265            case BYTE_ASTORE_opcode: label_BYTE_ASTORE(p); break;
7266            case SHORT_ASTORE_opcode: label_SHORT_ASTORE(p); break;
7267            case INT_IFCMP_opcode: label_INT_IFCMP(p); break;
7268            case INT_IFCMP2_opcode: label_INT_IFCMP2(p); break;
7269            case LONG_IFCMP_opcode: label_LONG_IFCMP(p); break;
7270            case FLOAT_IFCMP_opcode: label_FLOAT_IFCMP(p); break;
7271            case DOUBLE_IFCMP_opcode: label_DOUBLE_IFCMP(p); break;
7272            case UNINT_BEGIN_opcode: label_UNINT_BEGIN(p); break;
7273            case UNINT_END_opcode: label_UNINT_END(p); break;
7274            case FENCE_opcode: label_FENCE(p); break;
7275            case READ_CEILING_opcode: label_READ_CEILING(p); break;
7276            case WRITE_FLOOR_opcode: label_WRITE_FLOOR(p); break;
7277            case NOP_opcode: label_NOP(p); break;
7278            case INT_MOVE_opcode: label_INT_MOVE(p); break;
7279            case LONG_MOVE_opcode: label_LONG_MOVE(p); break;
7280            case FLOAT_MOVE_opcode: label_FLOAT_MOVE(p); break;
7281            case DOUBLE_MOVE_opcode: label_DOUBLE_MOVE(p); break;
7282            case GUARD_MOVE_opcode: label_GUARD_MOVE(p); break;
7283            case GUARD_COMBINE_opcode: label_GUARD_COMBINE(p); break;
7284            case INT_ADD_opcode: label_INT_ADD(p); break;
7285            case LONG_ADD_opcode: label_LONG_ADD(p); break;
7286            case FLOAT_ADD_opcode: label_FLOAT_ADD(p); break;
7287            case DOUBLE_ADD_opcode: label_DOUBLE_ADD(p); break;
7288            case INT_SUB_opcode: label_INT_SUB(p); break;
7289            case LONG_SUB_opcode: label_LONG_SUB(p); break;
7290            case FLOAT_SUB_opcode: label_FLOAT_SUB(p); break;
7291            case DOUBLE_SUB_opcode: label_DOUBLE_SUB(p); break;
7292            case INT_MUL_opcode: label_INT_MUL(p); break;
7293            case LONG_MUL_opcode: label_LONG_MUL(p); break;
7294            case FLOAT_MUL_opcode: label_FLOAT_MUL(p); break;
7295            case DOUBLE_MUL_opcode: label_DOUBLE_MUL(p); break;
7296            case INT_DIV_opcode: label_INT_DIV(p); break;
7297            case FLOAT_DIV_opcode: label_FLOAT_DIV(p); break;
7298            case DOUBLE_DIV_opcode: label_DOUBLE_DIV(p); break;
7299            case INT_REM_opcode: label_INT_REM(p); break;
7300            case FLOAT_REM_opcode: label_FLOAT_REM(p); break;
7301            case DOUBLE_REM_opcode: label_DOUBLE_REM(p); break;
7302            case INT_NEG_opcode: label_INT_NEG(p); break;
7303            case LONG_NEG_opcode: label_LONG_NEG(p); break;
7304            case FLOAT_NEG_opcode: label_FLOAT_NEG(p); break;
7305            case DOUBLE_NEG_opcode: label_DOUBLE_NEG(p); break;
7306            case FLOAT_SQRT_opcode: label_FLOAT_SQRT(p); break;
7307            case DOUBLE_SQRT_opcode: label_DOUBLE_SQRT(p); break;
7308            case INT_SHL_opcode: label_INT_SHL(p); break;
7309            case LONG_SHL_opcode: label_LONG_SHL(p); break;
7310            case INT_SHR_opcode: label_INT_SHR(p); break;
7311            case LONG_SHR_opcode: label_LONG_SHR(p); break;
7312            case INT_USHR_opcode: label_INT_USHR(p); break;
7313            case LONG_USHR_opcode: label_LONG_USHR(p); break;
7314            case INT_AND_opcode: label_INT_AND(p); break;
7315            case LONG_AND_opcode: label_LONG_AND(p); break;
7316            case INT_OR_opcode: label_INT_OR(p); break;
7317            case LONG_OR_opcode: label_LONG_OR(p); break;
7318            case INT_XOR_opcode: label_INT_XOR(p); break;
7319            case INT_NOT_opcode: label_INT_NOT(p); break;
7320            case LONG_NOT_opcode: label_LONG_NOT(p); break;
7321            case LONG_XOR_opcode: label_LONG_XOR(p); break;
7322            case ADDR_2LONG_opcode: label_ADDR_2LONG(p); break;
7323            case INT_2LONG_opcode: label_INT_2LONG(p); break;
7324            case INT_2FLOAT_opcode: label_INT_2FLOAT(p); break;
7325            case INT_2DOUBLE_opcode: label_INT_2DOUBLE(p); break;
7326            case LONG_2INT_opcode: label_LONG_2INT(p); break;
7327            case LONG_2FLOAT_opcode: label_LONG_2FLOAT(p); break;
7328            case LONG_2DOUBLE_opcode: label_LONG_2DOUBLE(p); break;
7329            case FLOAT_2INT_opcode: label_FLOAT_2INT(p); break;
7330            case FLOAT_2LONG_opcode: label_FLOAT_2LONG(p); break;
7331            case FLOAT_2DOUBLE_opcode: label_FLOAT_2DOUBLE(p); break;
7332            case DOUBLE_2INT_opcode: label_DOUBLE_2INT(p); break;
7333            case DOUBLE_2LONG_opcode: label_DOUBLE_2LONG(p); break;
7334            case DOUBLE_2FLOAT_opcode: label_DOUBLE_2FLOAT(p); break;
7335            case INT_2BYTE_opcode: label_INT_2BYTE(p); break;
7336            case INT_2USHORT_opcode: label_INT_2USHORT(p); break;
7337            case INT_2SHORT_opcode: label_INT_2SHORT(p); break;
7338            case LONG_CMP_opcode: label_LONG_CMP(p); break;
7339            case RETURN_opcode: label_RETURN(p); break;
7340            case NULL_CHECK_opcode: label_NULL_CHECK(p); break;
7341            case GOTO_opcode: label_GOTO(p); break;
7342            case BOOLEAN_NOT_opcode: label_BOOLEAN_NOT(p); break;
7343            case BOOLEAN_CMP_INT_opcode: label_BOOLEAN_CMP_INT(p); break;
7344            case BOOLEAN_CMP_LONG_opcode: label_BOOLEAN_CMP_LONG(p); break;
7345            case BYTE_LOAD_opcode: label_BYTE_LOAD(p); break;
7346            case UBYTE_LOAD_opcode: label_UBYTE_LOAD(p); break;
7347            case SHORT_LOAD_opcode: label_SHORT_LOAD(p); break;
7348            case USHORT_LOAD_opcode: label_USHORT_LOAD(p); break;
7349            case INT_LOAD_opcode: label_INT_LOAD(p); break;
7350            case LONG_LOAD_opcode: label_LONG_LOAD(p); break;
7351            case FLOAT_LOAD_opcode: label_FLOAT_LOAD(p); break;
7352            case DOUBLE_LOAD_opcode: label_DOUBLE_LOAD(p); break;
7353            case BYTE_STORE_opcode: label_BYTE_STORE(p); break;
7354            case SHORT_STORE_opcode: label_SHORT_STORE(p); break;
7355            case INT_STORE_opcode: label_INT_STORE(p); break;
7356            case LONG_STORE_opcode: label_LONG_STORE(p); break;
7357            case FLOAT_STORE_opcode: label_FLOAT_STORE(p); break;
7358            case DOUBLE_STORE_opcode: label_DOUBLE_STORE(p); break;
7359            case PREPARE_INT_opcode: label_PREPARE_INT(p); break;
7360            case PREPARE_LONG_opcode: label_PREPARE_LONG(p); break;
7361            case ATTEMPT_INT_opcode: label_ATTEMPT_INT(p); break;
7362            case ATTEMPT_LONG_opcode: label_ATTEMPT_LONG(p); break;
7363            case CALL_opcode: label_CALL(p); break;
7364            case SYSCALL_opcode: label_SYSCALL(p); break;
7365            case YIELDPOINT_PROLOGUE_opcode: label_YIELDPOINT_PROLOGUE(p); break;
7366            case YIELDPOINT_EPILOGUE_opcode: label_YIELDPOINT_EPILOGUE(p); break;
7367            case YIELDPOINT_BACKEDGE_opcode: label_YIELDPOINT_BACKEDGE(p); break;
7368            case YIELDPOINT_OSR_opcode: label_YIELDPOINT_OSR(p); break;
7369            case IR_PROLOGUE_opcode: label_IR_PROLOGUE(p); break;
7370            case RESOLVE_opcode: label_RESOLVE(p); break;
7371            case GET_TIME_BASE_opcode: label_GET_TIME_BASE(p); break;
7372            case TRAP_IF_opcode: label_TRAP_IF(p); break;
7373            case TRAP_opcode: label_TRAP(p); break;
7374            case FLOAT_AS_INT_BITS_opcode: label_FLOAT_AS_INT_BITS(p); break;
7375            case INT_BITS_AS_FLOAT_opcode: label_INT_BITS_AS_FLOAT(p); break;
7376            case DOUBLE_AS_LONG_BITS_opcode: label_DOUBLE_AS_LONG_BITS(p); break;
7377            case LONG_BITS_AS_DOUBLE_opcode: label_LONG_BITS_AS_DOUBLE(p); break;
7378            case LOWTABLESWITCH_opcode: label_LOWTABLESWITCH(p); break;
7379            case ADDRESS_CONSTANT_opcode: label_ADDRESS_CONSTANT(p); break;
7380            case INT_CONSTANT_opcode: label_INT_CONSTANT(p); break;
7381            case LONG_CONSTANT_opcode: label_LONG_CONSTANT(p); break;
7382            case REGISTER_opcode: label_REGISTER(p); break;
7383            case OTHER_OPERAND_opcode: label_OTHER_OPERAND(p); break;
7384            case NULL_opcode: label_NULL(p); break;
7385            case BRANCH_TARGET_opcode: label_BRANCH_TARGET(p); break;
7386            case MATERIALIZE_FP_CONSTANT_opcode: label_MATERIALIZE_FP_CONSTANT(p); break;
7387            case GET_CURRENT_PROCESSOR_opcode: label_GET_CURRENT_PROCESSOR(p); break;
7388            case CLEAR_FLOATING_POINT_STATE_opcode: label_CLEAR_FLOATING_POINT_STATE(p); break;
7389            case PREFETCH_opcode: label_PREFETCH(p); break;
7390            case PAUSE_opcode: label_PAUSE(p); break;
7391            case CMP_CMOV_opcode: label_CMP_CMOV(p); break;
7392            case FCMP_CMOV_opcode: label_FCMP_CMOV(p); break;
7393            case LCMP_CMOV_opcode: label_LCMP_CMOV(p); break;
7394            case FCMP_FCMOV_opcode: label_FCMP_FCMOV(p); break;
7395            default:
7396                    throw new OptimizingCompilerException("BURS","terminal not in grammar:",OperatorNames.operatorName[p.getOpcode()]);     }
7397    }
7398    
7399    static BURS_TreeNode kids(BURS_TreeNode p, int eruleno, int kidnumber)  { 
7400            if (BURS.DEBUG) {
7401            switch (eruleno) {
7402            case 37: // address: address1scaledreg
7403            case 36: // address1scaledreg: address1reg
7404            case 33: // load8_16_32: load8
7405            case 32: // load8_16_32: load16_32
7406            case 31: // load16_32: load32
7407            case 30: // load16_32: load16
7408            case 27: // load16: uload16
7409            case 26: // load16: sload16
7410            case 21: // load8: uload8
7411            case 20: // load8: sload8
7412            case 12: // any: riv
7413            case 9: // rlv: r
7414            case 7: // riv: r
7415            case 6: // szp: szpr
7416            case 5: // r: szpr
7417            case 4: // cz: czr
7418            case 3: // r: czr
7419            case 1: // stm: r
7420                    if (kidnumber == 0)  return p;
7421                    break;
7422            case 458: // stm: CLEAR_FLOATING_POINT_STATE
7423            case 457: // double_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
7424            case 456: // float_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
7425            case 455: // r: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
7426            case 381: // r: GET_TIME_BASE
7427            case 373: // stm: RETURN(LONG_CONSTANT)
7428            case 371: // stm: RETURN(INT_CONSTANT)
7429            case 370: // stm: RETURN(NULL)
7430            case 369: // stm: PAUSE
7431            case 368: // stm: FENCE
7432            case 367: // stm: READ_CEILING
7433            case 366: // stm: WRITE_FLOOR
7434            case 364: // stm: GOTO
7435            case 271: // r: GET_CURRENT_PROCESSOR
7436            case 270: // r: LONG_MOVE(LONG_CONSTANT)
7437            case 71: // stm: TRAP
7438            case 70: // stm: SET_CAUGHT_EXCEPTION(INT_CONSTANT)
7439            case 68: // r: GET_CAUGHT_EXCEPTION
7440            case 67: // stm: IR_PROLOGUE
7441            case 65: // r: GUARD_COMBINE
7442            case 64: // r: GUARD_MOVE
7443            case 63: // stm: NOP
7444            case 62: // stm: RESOLVE
7445            case 60: // stm: YIELDPOINT_BACKEDGE
7446            case 59: // stm: YIELDPOINT_EPILOGUE
7447            case 58: // stm: YIELDPOINT_PROLOGUE
7448            case 57: // stm: UNINT_END
7449            case 56: // stm: UNINT_BEGIN
7450            case 55: // stm: IG_PATCH_POINT
7451            case 14: // any: LONG_CONSTANT
7452            case 13: // any: ADDRESS_CONSTANT
7453            case 11: // any: NULL
7454            case 10: // rlv: LONG_CONSTANT
7455            case 8: // riv: INT_CONSTANT
7456            case 2: // r: REGISTER
7457                    break;
7458            case 464: // stm: DOUBLE_IFCMP(double_load,r)
7459            case 463: // stm: DOUBLE_IFCMP(r,double_load)
7460            case 462: // stm: DOUBLE_IFCMP(r,r)
7461            case 461: // stm: FLOAT_IFCMP(float_load,r)
7462            case 460: // stm: FLOAT_IFCMP(r,float_load)
7463            case 459: // stm: FLOAT_IFCMP(r,r)
7464            case 430: // float_load: FLOAT_ALOAD(riv,riv)
7465            case 429: // r: FLOAT_ALOAD(riv,riv)
7466            case 428: // float_load: FLOAT_LOAD(riv,riv)
7467            case 427: // r: FLOAT_LOAD(riv,riv)
7468            case 426: // double_load: DOUBLE_ALOAD(riv,riv)
7469            case 425: // r: DOUBLE_ALOAD(riv,riv)
7470            case 424: // double_load: DOUBLE_LOAD(riv,riv)
7471            case 423: // r: DOUBLE_LOAD(riv,riv)
7472            case 418: // r: DOUBLE_REM(r,r)
7473            case 417: // r: FLOAT_REM(r,r)
7474            case 412: // r: DOUBLE_DIV(r,double_load)
7475            case 411: // r: DOUBLE_DIV(r,r)
7476            case 410: // r: FLOAT_DIV(r,float_load)
7477            case 409: // r: FLOAT_DIV(r,r)
7478            case 408: // r: DOUBLE_MUL(double_load,r)
7479            case 407: // r: DOUBLE_MUL(r,double_load)
7480            case 406: // r: DOUBLE_MUL(r,r)
7481            case 405: // r: FLOAT_MUL(float_load,r)
7482            case 404: // r: FLOAT_MUL(r,float_load)
7483            case 403: // r: FLOAT_MUL(r,r)
7484            case 402: // r: DOUBLE_SUB(r,double_load)
7485            case 401: // r: DOUBLE_SUB(r,r)
7486            case 400: // r: FLOAT_SUB(r,float_load)
7487            case 399: // r: FLOAT_SUB(r,r)
7488            case 398: // r: DOUBLE_ADD(double_load,r)
7489            case 397: // r: DOUBLE_ADD(r,double_load)
7490            case 396: // r: DOUBLE_ADD(r,r)
7491            case 395: // r: FLOAT_ADD(float_load,r)
7492            case 394: // r: FLOAT_ADD(r,float_load)
7493            case 393: // r: FLOAT_ADD(r,r)
7494            case 382: // stm: YIELDPOINT_OSR(any,any)
7495            case 378: // r: SYSCALL(r,any)
7496            case 374: // r: CALL(r,any)
7497            case 363: // r: LONG_CMP(rlv,rlv)
7498            case 362: // stm: LONG_IFCMP(rlv,rlv)
7499            case 361: // stm: INT_IFCMP2(riv,load32)
7500            case 360: // stm: INT_IFCMP2(load32,riv)
7501            case 359: // stm: INT_IFCMP2(r,riv)
7502            case 353: // stm: INT_IFCMP(r,load32)
7503            case 352: // stm: INT_IFCMP(load32,riv)
7504            case 350: // stm: INT_IFCMP(r,uload8)
7505            case 349: // stm: INT_IFCMP(uload8,r)
7506            case 346: // stm: INT_IFCMP(r,riv)
7507            case 304: // r: PREPARE_LONG(riv,riv)
7508            case 301: // r: PREPARE_INT(address1reg,address1scaledreg)
7509            case 300: // r: PREPARE_INT(address1scaledreg,address1reg)
7510            case 299: // r: PREPARE_INT(address1scaledreg,r)
7511            case 298: // r: PREPARE_INT(r,address1scaledreg)
7512            case 297: // r: PREPARE_INT(riv,riv)
7513            case 296: // r: LONG_ALOAD(riv,riv)
7514            case 295: // r: LONG_LOAD(riv,riv)
7515            case 294: // r: INT_ALOAD(riv,riv)
7516            case 292: // r: INT_LOAD(address1reg,address1scaledreg)
7517            case 291: // r: INT_LOAD(address1scaledreg,address1reg)
7518            case 290: // r: INT_LOAD(address1scaledreg,riv)
7519            case 289: // r: INT_LOAD(riv,address1scaledreg)
7520            case 288: // r: INT_LOAD(riv,riv)
7521            case 283: // r: USHORT_ALOAD(riv,riv)
7522            case 282: // r: USHORT_LOAD(riv,riv)
7523            case 281: // r: SHORT_ALOAD(riv,riv)
7524            case 280: // r: SHORT_LOAD(riv,riv)
7525            case 275: // r: UBYTE_ALOAD(riv,riv)
7526            case 274: // r: UBYTE_LOAD(riv,riv)
7527            case 273: // r: BYTE_ALOAD(riv,riv)
7528            case 272: // r: BYTE_LOAD(riv,riv)
7529            case 221: // r: LONG_XOR(r,rlv)
7530            case 220: // r: LONG_OR(rlv,rlv)
7531            case 219: // r: LONG_AND(rlv,rlv)
7532            case 217: // r: LONG_USHR(rlv,riv)
7533            case 215: // r: LONG_SHR(rlv,riv)
7534            case 213: // r: LONG_SHL(rlv,riv)
7535            case 211: // r: LONG_MUL(rlv,rlv)
7536            case 210: // r: LONG_SUB(rlv,rlv)
7537            case 209: // r: LONG_ADD(r,rlv)
7538            case 201: // szpr: INT_XOR(load32,riv)
7539            case 200: // szpr: INT_XOR(riv,load32)
7540            case 199: // szpr: INT_XOR(riv,riv)
7541            case 194: // szpr: INT_OR(load32,riv)
7542            case 193: // szpr: INT_OR(riv,load32)
7543            case 192: // szpr: INT_OR(riv,riv)
7544            case 187: // szp: INT_AND(riv,load8_16_32)
7545            case 186: // szp: INT_AND(load8_16_32,riv)
7546            case 185: // szpr: INT_AND(load32,riv)
7547            case 184: // szpr: INT_AND(riv,load32)
7548            case 183: // szp: INT_AND(r,riv)
7549            case 182: // szpr: INT_AND(riv,riv)
7550            case 168: // szpr: INT_USHR(riv,riv)
7551            case 161: // szpr: INT_SHR(riv,riv)
7552            case 152: // szpr: INT_SHL(riv,riv)
7553            case 147: // r: INT_REM(riv,load32)
7554            case 146: // r: INT_REM(riv,riv)
7555            case 145: // r: INT_DIV(riv,load32)
7556            case 144: // r: INT_DIV(riv,riv)
7557            case 143: // r: INT_MUL(load32,riv)
7558            case 142: // r: INT_MUL(riv,load32)
7559            case 141: // r: INT_MUL(riv,riv)
7560            case 136: // czr: INT_SUB(load32,riv)
7561            case 135: // czr: INT_SUB(riv,load32)
7562            case 134: // r: INT_SUB(load32,r)
7563            case 133: // r: INT_SUB(riv,r)
7564            case 132: // czr: INT_SUB(riv,r)
7565            case 127: // czr: INT_ADD(load32,riv)
7566            case 126: // czr: INT_ADD(riv,load32)
7567            case 125: // r: INT_ADD(r,riv)
7568            case 124: // czr: INT_ADD(r,riv)
7569            case 105: // boolcmp: BOOLEAN_CMP_LONG(rlv,rlv)
7570            case 104: // r: BOOLEAN_CMP_LONG(rlv,rlv)
7571            case 101: // boolcmp: BOOLEAN_CMP_INT(riv,load32)
7572            case 100: // r: BOOLEAN_CMP_INT(r,load32)
7573            case 99: // boolcmp: BOOLEAN_CMP_INT(load32,riv)
7574            case 98: // r: BOOLEAN_CMP_INT(load32,riv)
7575            case 81: // boolcmp: BOOLEAN_CMP_INT(r,riv)
7576            case 80: // r: BOOLEAN_CMP_INT(r,riv)
7577            case 76: // stm: TRAP_IF(riv,load32)
7578            case 75: // stm: TRAP_IF(load32,riv)
7579            case 74: // stm: TRAP_IF(r,r)
7580            case 52: // r: INT_ADD(address1reg,address1scaledreg)
7581            case 51: // r: INT_ADD(address1scaledreg,address1reg)
7582            case 50: // r: INT_ADD(r,address1scaledreg)
7583            case 49: // r: INT_ADD(address1scaledreg,r)
7584            case 48: // address: INT_ADD(address1reg,address1scaledreg)
7585            case 47: // address: INT_ADD(address1scaledreg,address1reg)
7586            case 45: // address: INT_ADD(address1scaledreg,r)
7587            case 44: // address: INT_ADD(r,address1scaledreg)
7588            case 41: // address: INT_ADD(r,r)
7589            case 35: // load64: LONG_ALOAD(riv,riv)
7590            case 34: // load64: LONG_LOAD(riv,riv)
7591            case 29: // load32: INT_ALOAD(riv,riv)
7592            case 28: // load32: INT_LOAD(riv,riv)
7593            case 25: // uload16: USHORT_ALOAD(riv,riv)
7594            case 24: // uload16: USHORT_LOAD(riv,riv)
7595            case 23: // sload16: SHORT_ALOAD(riv,riv)
7596            case 22: // sload16: SHORT_LOAD(riv,riv)
7597            case 19: // uload8: UBYTE_ALOAD(riv,riv)
7598            case 18: // uload8: UBYTE_LOAD(riv,riv)
7599            case 17: // sload8: BYTE_ALOAD(riv,riv)
7600            case 16: // sload8: BYTE_LOAD(riv,riv)
7601            case 15: // any: OTHER_OPERAND(any,any)
7602                    if (kidnumber == 0)  return p.child1;
7603                    if (kidnumber == 1)  return p.child2;
7604                    break;
7605            case 454: // double_load: LONG_BITS_AS_DOUBLE(load64)
7606            case 453: // r: LONG_BITS_AS_DOUBLE(rlv)
7607            case 452: // float_load: INT_BITS_AS_FLOAT(load32)
7608            case 451: // r: INT_BITS_AS_FLOAT(riv)
7609            case 450: // load64: DOUBLE_AS_LONG_BITS(double_load)
7610            case 449: // r: DOUBLE_AS_LONG_BITS(r)
7611            case 448: // load32: FLOAT_AS_INT_BITS(float_load)
7612            case 447: // r: FLOAT_AS_INT_BITS(r)
7613            case 446: // r: DOUBLE_2LONG(r)
7614            case 445: // r: DOUBLE_2INT(r)
7615            case 444: // r: FLOAT_2LONG(r)
7616            case 443: // r: FLOAT_2INT(r)
7617            case 442: // r: DOUBLE_2FLOAT(double_load)
7618            case 441: // r: DOUBLE_2FLOAT(r)
7619            case 440: // r: FLOAT_2DOUBLE(float_load)
7620            case 439: // r: FLOAT_2DOUBLE(r)
7621            case 438: // r: INT_2DOUBLE(load32)
7622            case 437: // r: INT_2DOUBLE(riv)
7623            case 436: // r: INT_2FLOAT(load32)
7624            case 435: // r: INT_2FLOAT(riv)
7625            case 422: // r: DOUBLE_MOVE(r)
7626            case 421: // r: FLOAT_MOVE(r)
7627            case 420: // r: LONG_2DOUBLE(r)
7628            case 419: // r: LONG_2FLOAT(r)
7629            case 416: // r: DOUBLE_SQRT(r)
7630            case 415: // r: FLOAT_SQRT(r)
7631            case 414: // r: DOUBLE_NEG(r)
7632            case 413: // r: FLOAT_NEG(r)
7633            case 372: // stm: RETURN(r)
7634            case 365: // stm: PREFETCH(r)
7635            case 358: // stm: INT_IFCMP(bittest,INT_CONSTANT)
7636            case 357: // stm: INT_IFCMP(szp,INT_CONSTANT)
7637            case 356: // stm: INT_IFCMP(cz,INT_CONSTANT)
7638            case 355: // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
7639            case 354: // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
7640            case 351: // stm: INT_IFCMP(sload16,INT_CONSTANT)
7641            case 348: // stm: INT_IFCMP(load8,INT_CONSTANT)
7642            case 347: // stm: INT_IFCMP(r,INT_CONSTANT)
7643            case 302: // r: PREPARE_INT(address,INT_CONSTANT)
7644            case 293: // r: INT_LOAD(address,INT_CONSTANT)
7645            case 286: // r: INT_2USHORT(load16_32)
7646            case 285: // r: INT_2USHORT(load16_32)
7647            case 284: // r: INT_AND(load16_32,INT_CONSTANT)
7648            case 278: // r: INT_2BYTE(load8_16_32)
7649            case 277: // r: INT_AND(load8_16_32,INT_CONSTANT)
7650            case 276: // uload8: INT_AND(load8_16_32,INT_CONSTANT)
7651            case 269: // r: LONG_MOVE(r)
7652            case 268: // load64: LONG_MOVE(load64)
7653            case 267: // load32: INT_MOVE(load32)
7654            case 266: // load16: INT_MOVE(load16)
7655            case 265: // uload16: INT_MOVE(uload16)
7656            case 264: // sload16: INT_MOVE(sload16)
7657            case 263: // load8: INT_MOVE(load8)
7658            case 262: // uload8: INT_MOVE(uload8)
7659            case 261: // sload8: INT_MOVE(sload8)
7660            case 260: // address: INT_MOVE(address)
7661            case 259: // address1scaledreg: INT_MOVE(address1scaledreg)
7662            case 258: // address1reg: INT_MOVE(address1reg)
7663            case 257: // szp: INT_MOVE(szp)
7664            case 256: // szpr: INT_MOVE(szpr)
7665            case 255: // cz: INT_MOVE(cz)
7666            case 254: // czr: INT_MOVE(czr)
7667            case 253: // r: INT_MOVE(riv)
7668            case 246: // r: LONG_2INT(load64)
7669            case 243: // r: LONG_2INT(r)
7670            case 242: // r: ADDR_2LONG(load32)
7671            case 241: // r: ADDR_2LONG(r)
7672            case 236: // r: INT_2LONG(load32)
7673            case 235: // r: INT_2LONG(r)
7674            case 232: // r: INT_2SHORT(load16_32)
7675            case 231: // r: INT_2SHORT(r)
7676            case 228: // r: INT_2USHORT(load16_32)
7677            case 227: // szpr: INT_2USHORT(r)
7678            case 224: // r: INT_2BYTE(load8_16_32)
7679            case 223: // r: INT_2BYTE(r)
7680            case 222: // r: LONG_NOT(r)
7681            case 212: // r: LONG_NEG(r)
7682            case 206: // r: INT_NOT(r)
7683            case 169: // szpr: INT_USHR(riv,INT_CONSTANT)
7684            case 162: // szpr: INT_SHR(riv,INT_CONSTANT)
7685            case 154: // r: INT_SHL(r,INT_CONSTANT)
7686            case 153: // szpr: INT_SHL(r,INT_CONSTANT)
7687            case 148: // szpr: INT_NEG(r)
7688            case 111: // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
7689            case 110: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
7690            case 109: // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
7691            case 108: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
7692            case 97: // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
7693            case 96: // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
7694            case 95: // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
7695            case 94: // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
7696            case 93: // boolcmp: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
7697            case 92: // r: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
7698            case 91: // boolcmp: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
7699            case 90: // r: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
7700            case 89: // boolcmp: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
7701            case 88: // r: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
7702            case 87: // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
7703            case 86: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
7704            case 85: // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
7705            case 84: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
7706            case 83: // boolcmp: BOOLEAN_CMP_INT(r,INT_CONSTANT)
7707            case 82: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
7708            case 77: // r: BOOLEAN_NOT(r)
7709            case 73: // stm: TRAP_IF(r,LONG_CONSTANT)
7710            case 72: // stm: TRAP_IF(r,INT_CONSTANT)
7711            case 69: // stm: SET_CAUGHT_EXCEPTION(r)
7712            case 66: // stm: NULL_CHECK(riv)
7713            case 61: // stm: LOWTABLESWITCH(r)
7714            case 54: // r: INT_MOVE(address)
7715            case 53: // r: INT_ADD(address,INT_CONSTANT)
7716            case 46: // address: INT_ADD(address1scaledreg,INT_CONSTANT)
7717            case 43: // address1scaledreg: INT_ADD(address1scaledreg,INT_CONSTANT)
7718            case 42: // address1reg: INT_ADD(address1reg,INT_CONSTANT)
7719            case 40: // address1reg: INT_MOVE(r)
7720            case 39: // address1reg: INT_ADD(r,INT_CONSTANT)
7721            case 38: // address1scaledreg: INT_SHL(r,INT_CONSTANT)
7722                    if (kidnumber == 0)  return p.child1;
7723                    break;
7724            case 208: // stm: INT_ASTORE(INT_NOT(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7725            case 207: // stm: INT_STORE(INT_NOT(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7726            case 173: // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7727            case 171: // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7728            case 166: // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7729            case 164: // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7730            case 159: // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7731            case 157: // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
7732            case 150: // stm: INT_ASTORE(INT_NEG(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7733            case 149: // stm: INT_STORE(INT_NEG(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7734            case 79: // stm: BYTE_ASTORE(BOOLEAN_NOT(UBYTE_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7735            case 78: // stm: BYTE_STORE(BOOLEAN_NOT(UBYTE_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7736                    if (kidnumber == 0)  return p.child1.child1.child1;
7737                    if (kidnumber == 1)  return p.child1.child1.child2;
7738                    if (kidnumber == 2)  return p.child2.child1;
7739                    if (kidnumber == 3)  return p.child2.child2;
7740                    break;
7741            case 486: // stm: LONG_STORE(load64,OTHER_OPERAND(riv,riv))
7742            case 485: // stm: LONG_ASTORE(load64,OTHER_OPERAND(riv,riv))
7743            case 476: // r: FCMP_FCMOV(r,OTHER_OPERAND(double_load,any))
7744            case 475: // r: FCMP_FCMOV(r,OTHER_OPERAND(float_load,any))
7745            case 470: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,any))
7746            case 469: // r: FCMP_CMOV(double_load,OTHER_OPERAND(r,any))
7747            case 468: // r: FCMP_CMOV(float_load,OTHER_OPERAND(r,any))
7748            case 467: // r: FCMP_CMOV(r,OTHER_OPERAND(double_load,any))
7749            case 466: // r: FCMP_CMOV(r,OTHER_OPERAND(float_load,any))
7750            case 465: // r: FCMP_CMOV(r,OTHER_OPERAND(r,any))
7751            case 434: // stm: FLOAT_ASTORE(r,OTHER_OPERAND(riv,riv))
7752            case 433: // stm: FLOAT_STORE(r,OTHER_OPERAND(riv,riv))
7753            case 432: // stm: DOUBLE_ASTORE(r,OTHER_OPERAND(riv,riv))
7754            case 431: // stm: DOUBLE_STORE(r,OTHER_OPERAND(riv,riv))
7755            case 344: // stm: LONG_ASTORE(r,OTHER_OPERAND(riv,riv))
7756            case 342: // stm: LONG_STORE(r,OTHER_OPERAND(riv,riv))
7757            case 341: // stm: INT_ASTORE(riv,OTHER_OPERAND(riv,riv))
7758            case 339: // stm: INT_STORE(riv,OTHER_OPERAND(address1reg,address1scaledreg))
7759            case 338: // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,address1reg))
7760            case 337: // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,riv))
7761            case 336: // stm: INT_STORE(riv,OTHER_OPERAND(riv,address1scaledreg))
7762            case 335: // stm: INT_STORE(riv,OTHER_OPERAND(riv,riv))
7763            case 334: // stm: SHORT_ASTORE(load16,OTHER_OPERAND(riv,riv))
7764            case 333: // stm: SHORT_ASTORE(riv,OTHER_OPERAND(riv,riv))
7765            case 332: // stm: SHORT_STORE(load16,OTHER_OPERAND(riv,riv))
7766            case 331: // stm: SHORT_STORE(riv,OTHER_OPERAND(riv,riv))
7767            case 330: // stm: BYTE_ASTORE(load8,OTHER_OPERAND(riv,riv))
7768            case 329: // stm: BYTE_ASTORE(riv,OTHER_OPERAND(riv,riv))
7769            case 328: // stm: BYTE_STORE(load8,OTHER_OPERAND(riv,riv))
7770            case 327: // stm: BYTE_STORE(riv,OTHER_OPERAND(riv,riv))
7771            case 123: // r: LCMP_CMOV(r,OTHER_OPERAND(rlv,any))
7772            case 117: // r: CMP_CMOV(riv,OTHER_OPERAND(load32,any))
7773            case 116: // r: CMP_CMOV(load32,OTHER_OPERAND(riv,any))
7774            case 114: // r: CMP_CMOV(riv,OTHER_OPERAND(uload8,any))
7775            case 113: // r: CMP_CMOV(uload8,OTHER_OPERAND(riv,any))
7776            case 106: // r: CMP_CMOV(r,OTHER_OPERAND(riv,any))
7777            case 103: // stm: BYTE_ASTORE(boolcmp,OTHER_OPERAND(riv,riv))
7778            case 102: // stm: BYTE_STORE(boolcmp,OTHER_OPERAND(riv,riv))
7779                    if (kidnumber == 0)  return p.child1;
7780                    if (kidnumber == 1)  return p.child2.child1;
7781                    if (kidnumber == 2)  return p.child2.child2;
7782                    break;
7783            case 122: // r: CMP_CMOV(szp,OTHER_OPERAND(INT_CONSTANT,any))
7784            case 121: // r: CMP_CMOV(cz,OTHER_OPERAND(INT_CONSTANT,any))
7785            case 120: // r: CMP_CMOV(bittest,OTHER_OPERAND(INT_CONSTANT,any))
7786            case 119: // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
7787            case 118: // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
7788            case 115: // r: CMP_CMOV(sload16,OTHER_OPERAND(INT_CONSTANT,any))
7789            case 112: // r: CMP_CMOV(load8,OTHER_OPERAND(INT_CONSTANT,any))
7790            case 107: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,any))
7791                    if (kidnumber == 0)  return p.child1;
7792                    if (kidnumber == 1)  return p.child2.child2;
7793                    break;
7794            case 204: // stm: INT_ASTORE(INT_XOR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7795            case 202: // stm: INT_STORE(INT_XOR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7796            case 197: // stm: INT_ASTORE(INT_OR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7797            case 195: // stm: INT_STORE(INT_OR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7798            case 190: // stm: INT_ASTORE(INT_AND(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7799            case 188: // stm: INT_STORE(INT_AND(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7800            case 139: // stm: INT_ASTORE(INT_SUB(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7801            case 137: // stm: INT_STORE(INT_SUB(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7802            case 130: // stm: INT_ASTORE(INT_ADD(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7803            case 128: // stm: INT_STORE(INT_ADD(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
7804                    if (kidnumber == 0)  return p.child1.child1.child1;
7805                    if (kidnumber == 1)  return p.child1.child1.child2;
7806                    if (kidnumber == 2)  return p.child1.child2;
7807                    if (kidnumber == 3)  return p.child2.child1;
7808                    if (kidnumber == 4)  return p.child2.child2;
7809                    break;
7810            case 205: // stm: INT_ASTORE(INT_XOR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7811            case 203: // stm: INT_STORE(INT_XOR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7812            case 198: // stm: INT_ASTORE(INT_OR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7813            case 196: // stm: INT_STORE(INT_OR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7814            case 191: // stm: INT_ASTORE(INT_AND(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7815            case 189: // stm: INT_STORE(INT_AND(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7816            case 140: // stm: INT_ASTORE(INT_SUB(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7817            case 138: // stm: INT_STORE(INT_SUB(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7818            case 131: // stm: INT_ASTORE(INT_ADD(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7819            case 129: // stm: INT_STORE(INT_ADD(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
7820                    if (kidnumber == 0)  return p.child1.child1;
7821                    if (kidnumber == 1)  return p.child1.child2.child1;
7822                    if (kidnumber == 2)  return p.child1.child2.child2;
7823                    if (kidnumber == 3)  return p.child2.child1;
7824                    if (kidnumber == 4)  return p.child2.child2;
7825                    break;
7826            case 340: // stm: INT_STORE(riv,OTHER_OPERAND(address,INT_CONSTANT))
7827            case 218: // r: LONG_USHR(rlv,INT_AND(riv,INT_CONSTANT))
7828            case 216: // r: LONG_SHR(rlv,INT_AND(riv,INT_CONSTANT))
7829            case 214: // r: LONG_SHL(rlv,INT_AND(riv,INT_CONSTANT))
7830            case 167: // szpr: INT_USHR(riv,INT_AND(r,INT_CONSTANT))
7831            case 160: // szpr: INT_SHR(riv,INT_AND(r,INT_CONSTANT))
7832            case 151: // szpr: INT_SHL(riv,INT_AND(r,INT_CONSTANT))
7833                    if (kidnumber == 0)  return p.child1;
7834                    if (kidnumber == 1)  return p.child2.child1;
7835                    break;
7836            case 388: // bittest: INT_AND(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
7837            case 385: // bittest: INT_AND(INT_USHR(r,INT_CONSTANT),INT_CONSTANT)
7838            case 287: // r: INT_USHR(INT_SHL(load16_32,INT_CONSTANT),INT_CONSTANT)
7839            case 279: // r: INT_USHR(INT_SHL(load8_16_32,INT_CONSTANT),INT_CONSTANT)
7840            case 252: // load32: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
7841            case 251: // load32: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
7842            case 250: // r: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
7843            case 249: // r: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
7844            case 248: // r: LONG_2INT(LONG_SHR(r,INT_CONSTANT))
7845            case 247: // r: LONG_2INT(LONG_USHR(r,INT_CONSTANT))
7846            case 240: // r: LONG_SHL(INT_2LONG(load64),INT_CONSTANT)
7847            case 239: // r: LONG_SHL(INT_2LONG(r),INT_CONSTANT)
7848            case 238: // r: LONG_AND(INT_2LONG(load32),LONG_CONSTANT)
7849            case 237: // r: LONG_AND(INT_2LONG(r),LONG_CONSTANT)
7850            case 155: // szpr: INT_SHL(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
7851                    if (kidnumber == 0)  return p.child1.child1;
7852                    break;
7853            case 172: // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7854            case 170: // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7855            case 165: // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7856            case 163: // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7857            case 158: // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7858            case 156: // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
7859                    if (kidnumber == 0)  return p.child1.child1.child1;
7860                    if (kidnumber == 1)  return p.child1.child1.child2;
7861                    if (kidnumber == 2)  return p.child1.child2.child1;
7862                    if (kidnumber == 3)  return p.child2.child1;
7863                    if (kidnumber == 4)  return p.child2.child2;
7864                    break;
7865            case 177: // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
7866            case 176: // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
7867            case 175: // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
7868            case 174: // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
7869                    if (kidnumber == 0)  return p.child1.child1;
7870                    if (kidnumber == 1)  return p.child2.child1;
7871                    break;
7872            case 181: // r: INT_OR(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
7873            case 178: // r: INT_OR(INT_SHL(r,INT_AND(r,INT_CONSTANT)),INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
7874                    if (kidnumber == 0)  return p.child1.child1;
7875                    if (kidnumber == 1)  return p.child1.child2.child1;
7876                    if (kidnumber == 2)  return p.child2.child1;
7877                    if (kidnumber == 3)  return p.child2.child2.child1.child1;
7878                    break;
7879            case 180: // r: INT_OR(INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_USHR(r,INT_AND(r,INT_CONSTANT)))
7880            case 179: // r: INT_OR(INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_SHL(r,INT_AND(r,INT_CONSTANT)))
7881                    if (kidnumber == 0)  return p.child1.child1;
7882                    if (kidnumber == 1)  return p.child1.child2.child1.child1;
7883                    if (kidnumber == 2)  return p.child2.child1;
7884                    if (kidnumber == 3)  return p.child2.child2.child1;
7885                    break;
7886            case 245: // stm: INT_ASTORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
7887            case 244: // stm: INT_STORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
7888            case 234: // stm: SHORT_ASTORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
7889            case 233: // stm: SHORT_STORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
7890            case 230: // stm: SHORT_ASTORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
7891            case 229: // stm: SHORT_STORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
7892            case 226: // stm: BYTE_ASTORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
7893            case 225: // stm: BYTE_STORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
7894                    if (kidnumber == 0)  return p.child1.child1;
7895                    if (kidnumber == 1)  return p.child2.child1;
7896                    if (kidnumber == 2)  return p.child2.child2;
7897                    break;
7898            case 380: // r: SYSCALL(INT_CONSTANT,any)
7899            case 377: // r: CALL(INT_CONSTANT,any)
7900            case 375: // r: CALL(BRANCH_TARGET,any)
7901            case 303: // r: PREPARE_INT(INT_CONSTANT,address)
7902                    if (kidnumber == 0)  return p.child2;
7903                    break;
7904            case 474: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(double_load,r)))
7905            case 473: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(float_load,r)))
7906            case 472: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,double_load)))
7907            case 471: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,float_load)))
7908            case 326: // r: ATTEMPT_LONG(riv,OTHER_OPERAND(riv,OTHER_OPERAND(rlv,rlv)))
7909            case 309: // r: ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
7910            case 308: // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv)))
7911            case 307: // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv)))
7912            case 306: // r: ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
7913            case 305: // r: ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv)))
7914                    if (kidnumber == 0)  return p.child1;
7915                    if (kidnumber == 1)  return p.child2.child1;
7916                    if (kidnumber == 2)  return p.child2.child2.child1;
7917                    if (kidnumber == 3)  return p.child2.child2.child2;
7918                    break;
7919            case 310: // r: ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv)))
7920                    if (kidnumber == 0)  return p.child1;
7921                    if (kidnumber == 1)  return p.child2.child2.child1;
7922                    if (kidnumber == 2)  return p.child2.child2.child2;
7923                    break;
7924            case 311: // r: ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv)))
7925                    if (kidnumber == 0)  return p.child2.child1;
7926                    if (kidnumber == 1)  return p.child2.child2.child1;
7927                    if (kidnumber == 2)  return p.child2.child2.child2;
7928                    break;
7929            case 323: // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7930            case 322: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7931            case 321: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7932            case 320: // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7933            case 319: // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7934            case 316: // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7935            case 315: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7936            case 314: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7937            case 313: // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7938            case 312: // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7939                    if (kidnumber == 0)  return p.child1.child1;
7940                    if (kidnumber == 1)  return p.child1.child2.child1;
7941                    if (kidnumber == 2)  return p.child1.child2.child2.child1;
7942                    if (kidnumber == 3)  return p.child1.child2.child2.child2;
7943                    break;
7944            case 324: // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7945            case 317: // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7946                    if (kidnumber == 0)  return p.child1.child1;
7947                    if (kidnumber == 1)  return p.child1.child2.child2.child1;
7948                    if (kidnumber == 2)  return p.child1.child2.child2.child2;
7949                    break;
7950            case 325: // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7951            case 318: // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
7952                    if (kidnumber == 0)  return p.child1.child2.child1;
7953                    if (kidnumber == 1)  return p.child1.child2.child2.child1;
7954                    if (kidnumber == 2)  return p.child1.child2.child2.child2;
7955                    break;
7956            case 345: // stm: LONG_ASTORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
7957            case 343: // stm: LONG_STORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
7958                    if (kidnumber == 0)  return p.child2.child1;
7959                    if (kidnumber == 1)  return p.child2.child2;
7960                    break;
7961            case 379: // r: SYSCALL(INT_LOAD(riv,riv),any)
7962            case 376: // r: CALL(INT_LOAD(riv,riv),any)
7963                    if (kidnumber == 0)  return p.child1.child1;
7964                    if (kidnumber == 1)  return p.child1.child2;
7965                    if (kidnumber == 2)  return p.child2;
7966                    break;
7967            case 387: // bittest: INT_AND(INT_SHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
7968            case 386: // bittest: INT_AND(INT_SHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
7969            case 384: // bittest: INT_AND(INT_USHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
7970            case 383: // bittest: INT_AND(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
7971                    if (kidnumber == 0)  return p.child1.child1;
7972                    if (kidnumber == 1)  return p.child1.child2.child1;
7973                    break;
7974            case 390: // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)),load32)
7975            case 389: // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(riv,INT_CONSTANT)),r)
7976                    if (kidnumber == 0)  return p.child1.child2.child1;
7977                    if (kidnumber == 1)  return p.child2;
7978                    break;
7979            case 392: // bittest: INT_AND(load32,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
7980            case 391: // bittest: INT_AND(r,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
7981                    if (kidnumber == 0)  return p.child1;
7982                    if (kidnumber == 1)  return p.child2.child2.child1;
7983                    break;
7984            case 481: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,DOUBLE_NEG(r))))
7985            case 477: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,FLOAT_NEG(r))))
7986                    if (kidnumber == 0)  return p.child1;
7987                    if (kidnumber == 1)  return p.child2.child2.child1;
7988                    if (kidnumber == 2)  return p.child2.child2.child2.child1;
7989                    break;
7990            case 482: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(DOUBLE_NEG(r),r)))
7991            case 478: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(FLOAT_NEG(r),r)))
7992                    if (kidnumber == 0)  return p.child1;
7993                    if (kidnumber == 1)  return p.child2.child2.child1.child1;
7994                    if (kidnumber == 2)  return p.child2.child2.child2;
7995                    break;
7996            case 483: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(DOUBLE_NEG(r),r)))
7997            case 479: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(FLOAT_NEG(r),r)))
7998                    if (kidnumber == 0)  return p.child2.child1;
7999                    if (kidnumber == 1)  return p.child2.child2.child1.child1;
8000                    if (kidnumber == 2)  return p.child2.child2.child2;
8001                    break;
8002            case 484: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,DOUBLE_NEG(r))))
8003            case 480: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,FLOAT_NEG(r))))
8004                    if (kidnumber == 0)  return p.child2.child1;
8005                    if (kidnumber == 1)  return p.child2.child2.child1;
8006                    if (kidnumber == 2)  return p.child2.child2.child2.child1;
8007                    break;
8008            }
8009            throw new OptimizingCompilerException("BURS","Bad rule number ",Integer.toString(eruleno));
8010    } else return null;
8011    }
8012    
8013    static void mark_kids(BURS_TreeNode p, int eruleno)
8014             {
8015            byte[] ntsrule = nts[eruleno];
8016            switch (eruleno) {
8017            case 37: // address: address1scaledreg
8018            case 36: // address1scaledreg: address1reg
8019            case 33: // load8_16_32: load8
8020            case 32: // load8_16_32: load16_32
8021            case 31: // load16_32: load32
8022            case 30: // load16_32: load16
8023            case 27: // load16: uload16
8024            case 26: // load16: sload16
8025            case 21: // load8: uload8
8026            case 20: // load8: sload8
8027            case 12: // any: riv
8028            case 9: // rlv: r
8029            case 7: // riv: r
8030            case 6: // szp: szpr
8031            case 5: // r: szpr
8032            case 4: // cz: czr
8033            case 3: // r: czr
8034            case 1: // stm: r
8035                    mark(p, ntsrule[0]);
8036                    break;
8037            case 458: // stm: CLEAR_FLOATING_POINT_STATE
8038            case 457: // double_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
8039            case 456: // float_load: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
8040            case 455: // r: MATERIALIZE_FP_CONSTANT(INT_CONSTANT)
8041            case 381: // r: GET_TIME_BASE
8042            case 373: // stm: RETURN(LONG_CONSTANT)
8043            case 371: // stm: RETURN(INT_CONSTANT)
8044            case 370: // stm: RETURN(NULL)
8045            case 369: // stm: PAUSE
8046            case 368: // stm: FENCE
8047            case 367: // stm: READ_CEILING
8048            case 366: // stm: WRITE_FLOOR
8049            case 364: // stm: GOTO
8050            case 271: // r: GET_CURRENT_PROCESSOR
8051            case 270: // r: LONG_MOVE(LONG_CONSTANT)
8052            case 71: // stm: TRAP
8053            case 70: // stm: SET_CAUGHT_EXCEPTION(INT_CONSTANT)
8054            case 68: // r: GET_CAUGHT_EXCEPTION
8055            case 67: // stm: IR_PROLOGUE
8056            case 65: // r: GUARD_COMBINE
8057            case 64: // r: GUARD_MOVE
8058            case 63: // stm: NOP
8059            case 62: // stm: RESOLVE
8060            case 60: // stm: YIELDPOINT_BACKEDGE
8061            case 59: // stm: YIELDPOINT_EPILOGUE
8062            case 58: // stm: YIELDPOINT_PROLOGUE
8063            case 57: // stm: UNINT_END
8064            case 56: // stm: UNINT_BEGIN
8065            case 55: // stm: IG_PATCH_POINT
8066            case 14: // any: LONG_CONSTANT
8067            case 13: // any: ADDRESS_CONSTANT
8068            case 11: // any: NULL
8069            case 10: // rlv: LONG_CONSTANT
8070            case 8: // riv: INT_CONSTANT
8071            case 2: // r: REGISTER
8072                    break;
8073            case 464: // stm: DOUBLE_IFCMP(double_load,r)
8074            case 463: // stm: DOUBLE_IFCMP(r,double_load)
8075            case 462: // stm: DOUBLE_IFCMP(r,r)
8076            case 461: // stm: FLOAT_IFCMP(float_load,r)
8077            case 460: // stm: FLOAT_IFCMP(r,float_load)
8078            case 459: // stm: FLOAT_IFCMP(r,r)
8079            case 430: // float_load: FLOAT_ALOAD(riv,riv)
8080            case 429: // r: FLOAT_ALOAD(riv,riv)
8081            case 428: // float_load: FLOAT_LOAD(riv,riv)
8082            case 427: // r: FLOAT_LOAD(riv,riv)
8083            case 426: // double_load: DOUBLE_ALOAD(riv,riv)
8084            case 425: // r: DOUBLE_ALOAD(riv,riv)
8085            case 424: // double_load: DOUBLE_LOAD(riv,riv)
8086            case 423: // r: DOUBLE_LOAD(riv,riv)
8087            case 418: // r: DOUBLE_REM(r,r)
8088            case 417: // r: FLOAT_REM(r,r)
8089            case 412: // r: DOUBLE_DIV(r,double_load)
8090            case 411: // r: DOUBLE_DIV(r,r)
8091            case 410: // r: FLOAT_DIV(r,float_load)
8092            case 409: // r: FLOAT_DIV(r,r)
8093            case 408: // r: DOUBLE_MUL(double_load,r)
8094            case 407: // r: DOUBLE_MUL(r,double_load)
8095            case 406: // r: DOUBLE_MUL(r,r)
8096            case 405: // r: FLOAT_MUL(float_load,r)
8097            case 404: // r: FLOAT_MUL(r,float_load)
8098            case 403: // r: FLOAT_MUL(r,r)
8099            case 402: // r: DOUBLE_SUB(r,double_load)
8100            case 401: // r: DOUBLE_SUB(r,r)
8101            case 400: // r: FLOAT_SUB(r,float_load)
8102            case 399: // r: FLOAT_SUB(r,r)
8103            case 398: // r: DOUBLE_ADD(double_load,r)
8104            case 397: // r: DOUBLE_ADD(r,double_load)
8105            case 396: // r: DOUBLE_ADD(r,r)
8106            case 395: // r: FLOAT_ADD(float_load,r)
8107            case 394: // r: FLOAT_ADD(r,float_load)
8108            case 393: // r: FLOAT_ADD(r,r)
8109            case 382: // stm: YIELDPOINT_OSR(any,any)
8110            case 378: // r: SYSCALL(r,any)
8111            case 374: // r: CALL(r,any)
8112            case 363: // r: LONG_CMP(rlv,rlv)
8113            case 362: // stm: LONG_IFCMP(rlv,rlv)
8114            case 361: // stm: INT_IFCMP2(riv,load32)
8115            case 360: // stm: INT_IFCMP2(load32,riv)
8116            case 359: // stm: INT_IFCMP2(r,riv)
8117            case 353: // stm: INT_IFCMP(r,load32)
8118            case 352: // stm: INT_IFCMP(load32,riv)
8119            case 350: // stm: INT_IFCMP(r,uload8)
8120            case 349: // stm: INT_IFCMP(uload8,r)
8121            case 346: // stm: INT_IFCMP(r,riv)
8122            case 304: // r: PREPARE_LONG(riv,riv)
8123            case 301: // r: PREPARE_INT(address1reg,address1scaledreg)
8124            case 300: // r: PREPARE_INT(address1scaledreg,address1reg)
8125            case 299: // r: PREPARE_INT(address1scaledreg,r)
8126            case 298: // r: PREPARE_INT(r,address1scaledreg)
8127            case 297: // r: PREPARE_INT(riv,riv)
8128            case 296: // r: LONG_ALOAD(riv,riv)
8129            case 295: // r: LONG_LOAD(riv,riv)
8130            case 294: // r: INT_ALOAD(riv,riv)
8131            case 292: // r: INT_LOAD(address1reg,address1scaledreg)
8132            case 291: // r: INT_LOAD(address1scaledreg,address1reg)
8133            case 290: // r: INT_LOAD(address1scaledreg,riv)
8134            case 289: // r: INT_LOAD(riv,address1scaledreg)
8135            case 288: // r: INT_LOAD(riv,riv)
8136            case 283: // r: USHORT_ALOAD(riv,riv)
8137            case 282: // r: USHORT_LOAD(riv,riv)
8138            case 281: // r: SHORT_ALOAD(riv,riv)
8139            case 280: // r: SHORT_LOAD(riv,riv)
8140            case 275: // r: UBYTE_ALOAD(riv,riv)
8141            case 274: // r: UBYTE_LOAD(riv,riv)
8142            case 273: // r: BYTE_ALOAD(riv,riv)
8143            case 272: // r: BYTE_LOAD(riv,riv)
8144            case 221: // r: LONG_XOR(r,rlv)
8145            case 220: // r: LONG_OR(rlv,rlv)
8146            case 219: // r: LONG_AND(rlv,rlv)
8147            case 217: // r: LONG_USHR(rlv,riv)
8148            case 215: // r: LONG_SHR(rlv,riv)
8149            case 213: // r: LONG_SHL(rlv,riv)
8150            case 211: // r: LONG_MUL(rlv,rlv)
8151            case 210: // r: LONG_SUB(rlv,rlv)
8152            case 209: // r: LONG_ADD(r,rlv)
8153            case 201: // szpr: INT_XOR(load32,riv)
8154            case 200: // szpr: INT_XOR(riv,load32)
8155            case 199: // szpr: INT_XOR(riv,riv)
8156            case 194: // szpr: INT_OR(load32,riv)
8157            case 193: // szpr: INT_OR(riv,load32)
8158            case 192: // szpr: INT_OR(riv,riv)
8159            case 187: // szp: INT_AND(riv,load8_16_32)
8160            case 186: // szp: INT_AND(load8_16_32,riv)
8161            case 185: // szpr: INT_AND(load32,riv)
8162            case 184: // szpr: INT_AND(riv,load32)
8163            case 183: // szp: INT_AND(r,riv)
8164            case 182: // szpr: INT_AND(riv,riv)
8165            case 168: // szpr: INT_USHR(riv,riv)
8166            case 161: // szpr: INT_SHR(riv,riv)
8167            case 152: // szpr: INT_SHL(riv,riv)
8168            case 147: // r: INT_REM(riv,load32)
8169            case 146: // r: INT_REM(riv,riv)
8170            case 145: // r: INT_DIV(riv,load32)
8171            case 144: // r: INT_DIV(riv,riv)
8172            case 143: // r: INT_MUL(load32,riv)
8173            case 142: // r: INT_MUL(riv,load32)
8174            case 141: // r: INT_MUL(riv,riv)
8175            case 136: // czr: INT_SUB(load32,riv)
8176            case 135: // czr: INT_SUB(riv,load32)
8177            case 134: // r: INT_SUB(load32,r)
8178            case 133: // r: INT_SUB(riv,r)
8179            case 132: // czr: INT_SUB(riv,r)
8180            case 127: // czr: INT_ADD(load32,riv)
8181            case 126: // czr: INT_ADD(riv,load32)
8182            case 125: // r: INT_ADD(r,riv)
8183            case 124: // czr: INT_ADD(r,riv)
8184            case 105: // boolcmp: BOOLEAN_CMP_LONG(rlv,rlv)
8185            case 104: // r: BOOLEAN_CMP_LONG(rlv,rlv)
8186            case 101: // boolcmp: BOOLEAN_CMP_INT(riv,load32)
8187            case 100: // r: BOOLEAN_CMP_INT(r,load32)
8188            case 99: // boolcmp: BOOLEAN_CMP_INT(load32,riv)
8189            case 98: // r: BOOLEAN_CMP_INT(load32,riv)
8190            case 81: // boolcmp: BOOLEAN_CMP_INT(r,riv)
8191            case 80: // r: BOOLEAN_CMP_INT(r,riv)
8192            case 76: // stm: TRAP_IF(riv,load32)
8193            case 75: // stm: TRAP_IF(load32,riv)
8194            case 74: // stm: TRAP_IF(r,r)
8195            case 52: // r: INT_ADD(address1reg,address1scaledreg)
8196            case 51: // r: INT_ADD(address1scaledreg,address1reg)
8197            case 50: // r: INT_ADD(r,address1scaledreg)
8198            case 49: // r: INT_ADD(address1scaledreg,r)
8199            case 48: // address: INT_ADD(address1reg,address1scaledreg)
8200            case 47: // address: INT_ADD(address1scaledreg,address1reg)
8201            case 45: // address: INT_ADD(address1scaledreg,r)
8202            case 44: // address: INT_ADD(r,address1scaledreg)
8203            case 41: // address: INT_ADD(r,r)
8204            case 35: // load64: LONG_ALOAD(riv,riv)
8205            case 34: // load64: LONG_LOAD(riv,riv)
8206            case 29: // load32: INT_ALOAD(riv,riv)
8207            case 28: // load32: INT_LOAD(riv,riv)
8208            case 25: // uload16: USHORT_ALOAD(riv,riv)
8209            case 24: // uload16: USHORT_LOAD(riv,riv)
8210            case 23: // sload16: SHORT_ALOAD(riv,riv)
8211            case 22: // sload16: SHORT_LOAD(riv,riv)
8212            case 19: // uload8: UBYTE_ALOAD(riv,riv)
8213            case 18: // uload8: UBYTE_LOAD(riv,riv)
8214            case 17: // sload8: BYTE_ALOAD(riv,riv)
8215            case 16: // sload8: BYTE_LOAD(riv,riv)
8216            case 15: // any: OTHER_OPERAND(any,any)
8217                    mark(p.child1, ntsrule[0]);
8218                    mark(p.child2, ntsrule[1]);
8219                    break;
8220            case 454: // double_load: LONG_BITS_AS_DOUBLE(load64)
8221            case 453: // r: LONG_BITS_AS_DOUBLE(rlv)
8222            case 452: // float_load: INT_BITS_AS_FLOAT(load32)
8223            case 451: // r: INT_BITS_AS_FLOAT(riv)
8224            case 450: // load64: DOUBLE_AS_LONG_BITS(double_load)
8225            case 449: // r: DOUBLE_AS_LONG_BITS(r)
8226            case 448: // load32: FLOAT_AS_INT_BITS(float_load)
8227            case 447: // r: FLOAT_AS_INT_BITS(r)
8228            case 446: // r: DOUBLE_2LONG(r)
8229            case 445: // r: DOUBLE_2INT(r)
8230            case 444: // r: FLOAT_2LONG(r)
8231            case 443: // r: FLOAT_2INT(r)
8232            case 442: // r: DOUBLE_2FLOAT(double_load)
8233            case 441: // r: DOUBLE_2FLOAT(r)
8234            case 440: // r: FLOAT_2DOUBLE(float_load)
8235            case 439: // r: FLOAT_2DOUBLE(r)
8236            case 438: // r: INT_2DOUBLE(load32)
8237            case 437: // r: INT_2DOUBLE(riv)
8238            case 436: // r: INT_2FLOAT(load32)
8239            case 435: // r: INT_2FLOAT(riv)
8240            case 422: // r: DOUBLE_MOVE(r)
8241            case 421: // r: FLOAT_MOVE(r)
8242            case 420: // r: LONG_2DOUBLE(r)
8243            case 419: // r: LONG_2FLOAT(r)
8244            case 416: // r: DOUBLE_SQRT(r)
8245            case 415: // r: FLOAT_SQRT(r)
8246            case 414: // r: DOUBLE_NEG(r)
8247            case 413: // r: FLOAT_NEG(r)
8248            case 372: // stm: RETURN(r)
8249            case 365: // stm: PREFETCH(r)
8250            case 358: // stm: INT_IFCMP(bittest,INT_CONSTANT)
8251            case 357: // stm: INT_IFCMP(szp,INT_CONSTANT)
8252            case 356: // stm: INT_IFCMP(cz,INT_CONSTANT)
8253            case 355: // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
8254            case 354: // stm: INT_IFCMP(boolcmp,INT_CONSTANT)
8255            case 351: // stm: INT_IFCMP(sload16,INT_CONSTANT)
8256            case 348: // stm: INT_IFCMP(load8,INT_CONSTANT)
8257            case 347: // stm: INT_IFCMP(r,INT_CONSTANT)
8258            case 302: // r: PREPARE_INT(address,INT_CONSTANT)
8259            case 293: // r: INT_LOAD(address,INT_CONSTANT)
8260            case 286: // r: INT_2USHORT(load16_32)
8261            case 285: // r: INT_2USHORT(load16_32)
8262            case 284: // r: INT_AND(load16_32,INT_CONSTANT)
8263            case 278: // r: INT_2BYTE(load8_16_32)
8264            case 277: // r: INT_AND(load8_16_32,INT_CONSTANT)
8265            case 276: // uload8: INT_AND(load8_16_32,INT_CONSTANT)
8266            case 269: // r: LONG_MOVE(r)
8267            case 268: // load64: LONG_MOVE(load64)
8268            case 267: // load32: INT_MOVE(load32)
8269            case 266: // load16: INT_MOVE(load16)
8270            case 265: // uload16: INT_MOVE(uload16)
8271            case 264: // sload16: INT_MOVE(sload16)
8272            case 263: // load8: INT_MOVE(load8)
8273            case 262: // uload8: INT_MOVE(uload8)
8274            case 261: // sload8: INT_MOVE(sload8)
8275            case 260: // address: INT_MOVE(address)
8276            case 259: // address1scaledreg: INT_MOVE(address1scaledreg)
8277            case 258: // address1reg: INT_MOVE(address1reg)
8278            case 257: // szp: INT_MOVE(szp)
8279            case 256: // szpr: INT_MOVE(szpr)
8280            case 255: // cz: INT_MOVE(cz)
8281            case 254: // czr: INT_MOVE(czr)
8282            case 253: // r: INT_MOVE(riv)
8283            case 246: // r: LONG_2INT(load64)
8284            case 243: // r: LONG_2INT(r)
8285            case 242: // r: ADDR_2LONG(load32)
8286            case 241: // r: ADDR_2LONG(r)
8287            case 236: // r: INT_2LONG(load32)
8288            case 235: // r: INT_2LONG(r)
8289            case 232: // r: INT_2SHORT(load16_32)
8290            case 231: // r: INT_2SHORT(r)
8291            case 228: // r: INT_2USHORT(load16_32)
8292            case 227: // szpr: INT_2USHORT(r)
8293            case 224: // r: INT_2BYTE(load8_16_32)
8294            case 223: // r: INT_2BYTE(r)
8295            case 222: // r: LONG_NOT(r)
8296            case 212: // r: LONG_NEG(r)
8297            case 206: // r: INT_NOT(r)
8298            case 169: // szpr: INT_USHR(riv,INT_CONSTANT)
8299            case 162: // szpr: INT_SHR(riv,INT_CONSTANT)
8300            case 154: // r: INT_SHL(r,INT_CONSTANT)
8301            case 153: // szpr: INT_SHL(r,INT_CONSTANT)
8302            case 148: // szpr: INT_NEG(r)
8303            case 111: // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
8304            case 110: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
8305            case 109: // r: CMP_CMOV(load32,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
8306            case 108: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(INT_CONSTANT,INT_CONSTANT)))
8307            case 97: // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
8308            case 96: // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
8309            case 95: // boolcmp: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
8310            case 94: // r: BOOLEAN_CMP_INT(boolcmp,INT_CONSTANT)
8311            case 93: // boolcmp: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
8312            case 92: // r: BOOLEAN_CMP_INT(bittest,INT_CONSTANT)
8313            case 91: // boolcmp: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
8314            case 90: // r: BOOLEAN_CMP_INT(szp,INT_CONSTANT)
8315            case 89: // boolcmp: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
8316            case 88: // r: BOOLEAN_CMP_INT(cz,INT_CONSTANT)
8317            case 87: // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
8318            case 86: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
8319            case 85: // r: BOOLEAN_CMP_INT(load32,INT_CONSTANT)
8320            case 84: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
8321            case 83: // boolcmp: BOOLEAN_CMP_INT(r,INT_CONSTANT)
8322            case 82: // r: BOOLEAN_CMP_INT(r,INT_CONSTANT)
8323            case 77: // r: BOOLEAN_NOT(r)
8324            case 73: // stm: TRAP_IF(r,LONG_CONSTANT)
8325            case 72: // stm: TRAP_IF(r,INT_CONSTANT)
8326            case 69: // stm: SET_CAUGHT_EXCEPTION(r)
8327            case 66: // stm: NULL_CHECK(riv)
8328            case 61: // stm: LOWTABLESWITCH(r)
8329            case 54: // r: INT_MOVE(address)
8330            case 53: // r: INT_ADD(address,INT_CONSTANT)
8331            case 46: // address: INT_ADD(address1scaledreg,INT_CONSTANT)
8332            case 43: // address1scaledreg: INT_ADD(address1scaledreg,INT_CONSTANT)
8333            case 42: // address1reg: INT_ADD(address1reg,INT_CONSTANT)
8334            case 40: // address1reg: INT_MOVE(r)
8335            case 39: // address1reg: INT_ADD(r,INT_CONSTANT)
8336            case 38: // address1scaledreg: INT_SHL(r,INT_CONSTANT)
8337                    mark(p.child1, ntsrule[0]);
8338                    break;
8339            case 208: // stm: INT_ASTORE(INT_NOT(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8340            case 207: // stm: INT_STORE(INT_NOT(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8341            case 173: // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8342            case 171: // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8343            case 166: // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8344            case 164: // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8345            case 159: // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8346            case 157: // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_CONSTANT),OTHER_OPERAND(riv,riv))
8347            case 150: // stm: INT_ASTORE(INT_NEG(INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8348            case 149: // stm: INT_STORE(INT_NEG(INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8349            case 79: // stm: BYTE_ASTORE(BOOLEAN_NOT(UBYTE_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8350            case 78: // stm: BYTE_STORE(BOOLEAN_NOT(UBYTE_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8351                    mark(p.child1.child1.child1, ntsrule[0]);
8352                    mark(p.child1.child1.child2, ntsrule[1]);
8353                    mark(p.child2.child1, ntsrule[2]);
8354                    mark(p.child2.child2, ntsrule[3]);
8355                    break;
8356            case 486: // stm: LONG_STORE(load64,OTHER_OPERAND(riv,riv))
8357            case 485: // stm: LONG_ASTORE(load64,OTHER_OPERAND(riv,riv))
8358            case 476: // r: FCMP_FCMOV(r,OTHER_OPERAND(double_load,any))
8359            case 475: // r: FCMP_FCMOV(r,OTHER_OPERAND(float_load,any))
8360            case 470: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,any))
8361            case 469: // r: FCMP_CMOV(double_load,OTHER_OPERAND(r,any))
8362            case 468: // r: FCMP_CMOV(float_load,OTHER_OPERAND(r,any))
8363            case 467: // r: FCMP_CMOV(r,OTHER_OPERAND(double_load,any))
8364            case 466: // r: FCMP_CMOV(r,OTHER_OPERAND(float_load,any))
8365            case 465: // r: FCMP_CMOV(r,OTHER_OPERAND(r,any))
8366            case 434: // stm: FLOAT_ASTORE(r,OTHER_OPERAND(riv,riv))
8367            case 433: // stm: FLOAT_STORE(r,OTHER_OPERAND(riv,riv))
8368            case 432: // stm: DOUBLE_ASTORE(r,OTHER_OPERAND(riv,riv))
8369            case 431: // stm: DOUBLE_STORE(r,OTHER_OPERAND(riv,riv))
8370            case 344: // stm: LONG_ASTORE(r,OTHER_OPERAND(riv,riv))
8371            case 342: // stm: LONG_STORE(r,OTHER_OPERAND(riv,riv))
8372            case 341: // stm: INT_ASTORE(riv,OTHER_OPERAND(riv,riv))
8373            case 339: // stm: INT_STORE(riv,OTHER_OPERAND(address1reg,address1scaledreg))
8374            case 338: // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,address1reg))
8375            case 337: // stm: INT_STORE(riv,OTHER_OPERAND(address1scaledreg,riv))
8376            case 336: // stm: INT_STORE(riv,OTHER_OPERAND(riv,address1scaledreg))
8377            case 335: // stm: INT_STORE(riv,OTHER_OPERAND(riv,riv))
8378            case 334: // stm: SHORT_ASTORE(load16,OTHER_OPERAND(riv,riv))
8379            case 333: // stm: SHORT_ASTORE(riv,OTHER_OPERAND(riv,riv))
8380            case 332: // stm: SHORT_STORE(load16,OTHER_OPERAND(riv,riv))
8381            case 331: // stm: SHORT_STORE(riv,OTHER_OPERAND(riv,riv))
8382            case 330: // stm: BYTE_ASTORE(load8,OTHER_OPERAND(riv,riv))
8383            case 329: // stm: BYTE_ASTORE(riv,OTHER_OPERAND(riv,riv))
8384            case 328: // stm: BYTE_STORE(load8,OTHER_OPERAND(riv,riv))
8385            case 327: // stm: BYTE_STORE(riv,OTHER_OPERAND(riv,riv))
8386            case 123: // r: LCMP_CMOV(r,OTHER_OPERAND(rlv,any))
8387            case 117: // r: CMP_CMOV(riv,OTHER_OPERAND(load32,any))
8388            case 116: // r: CMP_CMOV(load32,OTHER_OPERAND(riv,any))
8389            case 114: // r: CMP_CMOV(riv,OTHER_OPERAND(uload8,any))
8390            case 113: // r: CMP_CMOV(uload8,OTHER_OPERAND(riv,any))
8391            case 106: // r: CMP_CMOV(r,OTHER_OPERAND(riv,any))
8392            case 103: // stm: BYTE_ASTORE(boolcmp,OTHER_OPERAND(riv,riv))
8393            case 102: // stm: BYTE_STORE(boolcmp,OTHER_OPERAND(riv,riv))
8394                    mark(p.child1, ntsrule[0]);
8395                    mark(p.child2.child1, ntsrule[1]);
8396                    mark(p.child2.child2, ntsrule[2]);
8397                    break;
8398            case 122: // r: CMP_CMOV(szp,OTHER_OPERAND(INT_CONSTANT,any))
8399            case 121: // r: CMP_CMOV(cz,OTHER_OPERAND(INT_CONSTANT,any))
8400            case 120: // r: CMP_CMOV(bittest,OTHER_OPERAND(INT_CONSTANT,any))
8401            case 119: // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
8402            case 118: // r: CMP_CMOV(boolcmp,OTHER_OPERAND(INT_CONSTANT,any))
8403            case 115: // r: CMP_CMOV(sload16,OTHER_OPERAND(INT_CONSTANT,any))
8404            case 112: // r: CMP_CMOV(load8,OTHER_OPERAND(INT_CONSTANT,any))
8405            case 107: // r: CMP_CMOV(r,OTHER_OPERAND(INT_CONSTANT,any))
8406                    mark(p.child1, ntsrule[0]);
8407                    mark(p.child2.child2, ntsrule[1]);
8408                    break;
8409            case 204: // stm: INT_ASTORE(INT_XOR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8410            case 202: // stm: INT_STORE(INT_XOR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8411            case 197: // stm: INT_ASTORE(INT_OR(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8412            case 195: // stm: INT_STORE(INT_OR(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8413            case 190: // stm: INT_ASTORE(INT_AND(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8414            case 188: // stm: INT_STORE(INT_AND(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8415            case 139: // stm: INT_ASTORE(INT_SUB(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8416            case 137: // stm: INT_STORE(INT_SUB(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8417            case 130: // stm: INT_ASTORE(INT_ADD(INT_ALOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8418            case 128: // stm: INT_STORE(INT_ADD(INT_LOAD(riv,riv),riv),OTHER_OPERAND(riv,riv))
8419                    mark(p.child1.child1.child1, ntsrule[0]);
8420                    mark(p.child1.child1.child2, ntsrule[1]);
8421                    mark(p.child1.child2, ntsrule[2]);
8422                    mark(p.child2.child1, ntsrule[3]);
8423                    mark(p.child2.child2, ntsrule[4]);
8424                    break;
8425            case 205: // stm: INT_ASTORE(INT_XOR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8426            case 203: // stm: INT_STORE(INT_XOR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8427            case 198: // stm: INT_ASTORE(INT_OR(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8428            case 196: // stm: INT_STORE(INT_OR(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8429            case 191: // stm: INT_ASTORE(INT_AND(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8430            case 189: // stm: INT_STORE(INT_AND(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8431            case 140: // stm: INT_ASTORE(INT_SUB(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8432            case 138: // stm: INT_STORE(INT_SUB(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8433            case 131: // stm: INT_ASTORE(INT_ADD(riv,INT_ALOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8434            case 129: // stm: INT_STORE(INT_ADD(riv,INT_LOAD(riv,riv)),OTHER_OPERAND(riv,riv))
8435                    mark(p.child1.child1, ntsrule[0]);
8436                    mark(p.child1.child2.child1, ntsrule[1]);
8437                    mark(p.child1.child2.child2, ntsrule[2]);
8438                    mark(p.child2.child1, ntsrule[3]);
8439                    mark(p.child2.child2, ntsrule[4]);
8440                    break;
8441            case 340: // stm: INT_STORE(riv,OTHER_OPERAND(address,INT_CONSTANT))
8442            case 218: // r: LONG_USHR(rlv,INT_AND(riv,INT_CONSTANT))
8443            case 216: // r: LONG_SHR(rlv,INT_AND(riv,INT_CONSTANT))
8444            case 214: // r: LONG_SHL(rlv,INT_AND(riv,INT_CONSTANT))
8445            case 167: // szpr: INT_USHR(riv,INT_AND(r,INT_CONSTANT))
8446            case 160: // szpr: INT_SHR(riv,INT_AND(r,INT_CONSTANT))
8447            case 151: // szpr: INT_SHL(riv,INT_AND(r,INT_CONSTANT))
8448                    mark(p.child1, ntsrule[0]);
8449                    mark(p.child2.child1, ntsrule[1]);
8450                    break;
8451            case 388: // bittest: INT_AND(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
8452            case 385: // bittest: INT_AND(INT_USHR(r,INT_CONSTANT),INT_CONSTANT)
8453            case 287: // r: INT_USHR(INT_SHL(load16_32,INT_CONSTANT),INT_CONSTANT)
8454            case 279: // r: INT_USHR(INT_SHL(load8_16_32,INT_CONSTANT),INT_CONSTANT)
8455            case 252: // load32: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
8456            case 251: // load32: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
8457            case 250: // r: LONG_2INT(LONG_SHR(load64,INT_CONSTANT))
8458            case 249: // r: LONG_2INT(LONG_USHR(load64,INT_CONSTANT))
8459            case 248: // r: LONG_2INT(LONG_SHR(r,INT_CONSTANT))
8460            case 247: // r: LONG_2INT(LONG_USHR(r,INT_CONSTANT))
8461            case 240: // r: LONG_SHL(INT_2LONG(load64),INT_CONSTANT)
8462            case 239: // r: LONG_SHL(INT_2LONG(r),INT_CONSTANT)
8463            case 238: // r: LONG_AND(INT_2LONG(load32),LONG_CONSTANT)
8464            case 237: // r: LONG_AND(INT_2LONG(r),LONG_CONSTANT)
8465            case 155: // szpr: INT_SHL(INT_SHR(r,INT_CONSTANT),INT_CONSTANT)
8466                    mark(p.child1.child1, ntsrule[0]);
8467                    break;
8468            case 172: // stm: INT_ASTORE(INT_USHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8469            case 170: // stm: INT_STORE(INT_USHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8470            case 165: // stm: INT_ASTORE(INT_SHR(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8471            case 163: // stm: INT_STORE(INT_SHR(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8472            case 158: // stm: INT_ASTORE(INT_SHL(INT_ALOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8473            case 156: // stm: INT_STORE(INT_SHL(INT_LOAD(riv,riv),INT_AND(r,INT_CONSTANT)),OTHER_OPERAND(riv,riv))
8474                    mark(p.child1.child1.child1, ntsrule[0]);
8475                    mark(p.child1.child1.child2, ntsrule[1]);
8476                    mark(p.child1.child2.child1, ntsrule[2]);
8477                    mark(p.child2.child1, ntsrule[3]);
8478                    mark(p.child2.child2, ntsrule[4]);
8479                    break;
8480            case 177: // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
8481            case 176: // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
8482            case 175: // r: INT_OR(INT_USHR(r,INT_CONSTANT),INT_SHL(r,INT_CONSTANT))
8483            case 174: // r: INT_OR(INT_SHL(r,INT_CONSTANT),INT_USHR(r,INT_CONSTANT))
8484                    mark(p.child1.child1, ntsrule[0]);
8485                    mark(p.child2.child1, ntsrule[1]);
8486                    break;
8487            case 181: // r: INT_OR(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
8488            case 178: // r: INT_OR(INT_SHL(r,INT_AND(r,INT_CONSTANT)),INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)))
8489                    mark(p.child1.child1, ntsrule[0]);
8490                    mark(p.child1.child2.child1, ntsrule[1]);
8491                    mark(p.child2.child1, ntsrule[2]);
8492                    mark(p.child2.child2.child1.child1, ntsrule[3]);
8493                    break;
8494            case 180: // r: INT_OR(INT_SHL(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_USHR(r,INT_AND(r,INT_CONSTANT)))
8495            case 179: // r: INT_OR(INT_USHR(r,INT_AND(INT_NEG(r),INT_CONSTANT)),INT_SHL(r,INT_AND(r,INT_CONSTANT)))
8496                    mark(p.child1.child1, ntsrule[0]);
8497                    mark(p.child1.child2.child1.child1, ntsrule[1]);
8498                    mark(p.child2.child1, ntsrule[2]);
8499                    mark(p.child2.child2.child1, ntsrule[3]);
8500                    break;
8501            case 245: // stm: INT_ASTORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
8502            case 244: // stm: INT_STORE(LONG_2INT(r),OTHER_OPERAND(riv,riv))
8503            case 234: // stm: SHORT_ASTORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
8504            case 233: // stm: SHORT_STORE(INT_2SHORT(r),OTHER_OPERAND(riv,riv))
8505            case 230: // stm: SHORT_ASTORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
8506            case 229: // stm: SHORT_STORE(INT_2USHORT(r),OTHER_OPERAND(riv,riv))
8507            case 226: // stm: BYTE_ASTORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
8508            case 225: // stm: BYTE_STORE(INT_2BYTE(r),OTHER_OPERAND(riv,riv))
8509                    mark(p.child1.child1, ntsrule[0]);
8510                    mark(p.child2.child1, ntsrule[1]);
8511                    mark(p.child2.child2, ntsrule[2]);
8512                    break;
8513            case 380: // r: SYSCALL(INT_CONSTANT,any)
8514            case 377: // r: CALL(INT_CONSTANT,any)
8515            case 375: // r: CALL(BRANCH_TARGET,any)
8516            case 303: // r: PREPARE_INT(INT_CONSTANT,address)
8517                    mark(p.child2, ntsrule[0]);
8518                    break;
8519            case 474: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(double_load,r)))
8520            case 473: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(float_load,r)))
8521            case 472: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,double_load)))
8522            case 471: // r: FCMP_FCMOV(r,OTHER_OPERAND(r,OTHER_OPERAND(r,float_load)))
8523            case 326: // r: ATTEMPT_LONG(riv,OTHER_OPERAND(riv,OTHER_OPERAND(rlv,rlv)))
8524            case 309: // r: ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
8525            case 308: // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv)))
8526            case 307: // r: ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv)))
8527            case 306: // r: ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv)))
8528            case 305: // r: ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv)))
8529                    mark(p.child1, ntsrule[0]);
8530                    mark(p.child2.child1, ntsrule[1]);
8531                    mark(p.child2.child2.child1, ntsrule[2]);
8532                    mark(p.child2.child2.child2, ntsrule[3]);
8533                    break;
8534            case 310: // r: ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv)))
8535                    mark(p.child1, ntsrule[0]);
8536                    mark(p.child2.child2.child1, ntsrule[1]);
8537                    mark(p.child2.child2.child2, ntsrule[2]);
8538                    break;
8539            case 311: // r: ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv)))
8540                    mark(p.child2.child1, ntsrule[0]);
8541                    mark(p.child2.child2.child1, ntsrule[1]);
8542                    mark(p.child2.child2.child2, ntsrule[2]);
8543                    break;
8544            case 323: // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8545            case 322: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8546            case 321: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8547            case 320: // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8548            case 319: // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8549            case 316: // stm: INT_IFCMP(ATTEMPT_INT(address1reg,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8550            case 315: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(address1reg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8551            case 314: // stm: INT_IFCMP(ATTEMPT_INT(address1scaledreg,OTHER_OPERAND(r,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8552            case 313: // stm: INT_IFCMP(ATTEMPT_INT(r,OTHER_OPERAND(address1scaledreg,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8553            case 312: // stm: INT_IFCMP(ATTEMPT_INT(riv,OTHER_OPERAND(riv,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8554                    mark(p.child1.child1, ntsrule[0]);
8555                    mark(p.child1.child2.child1, ntsrule[1]);
8556                    mark(p.child1.child2.child2.child1, ntsrule[2]);
8557                    mark(p.child1.child2.child2.child2, ntsrule[3]);
8558                    break;
8559            case 324: // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8560            case 317: // stm: INT_IFCMP(ATTEMPT_INT(address,OTHER_OPERAND(INT_CONSTANT,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8561                    mark(p.child1.child1, ntsrule[0]);
8562                    mark(p.child1.child2.child2.child1, ntsrule[1]);
8563                    mark(p.child1.child2.child2.child2, ntsrule[2]);
8564                    break;
8565            case 325: // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8566            case 318: // stm: INT_IFCMP(ATTEMPT_INT(INT_CONSTANT,OTHER_OPERAND(address,OTHER_OPERAND(riv,riv))),INT_CONSTANT)
8567                    mark(p.child1.child2.child1, ntsrule[0]);
8568                    mark(p.child1.child2.child2.child1, ntsrule[1]);
8569                    mark(p.child1.child2.child2.child2, ntsrule[2]);
8570                    break;
8571            case 345: // stm: LONG_ASTORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
8572            case 343: // stm: LONG_STORE(LONG_CONSTANT,OTHER_OPERAND(riv,riv))
8573                    mark(p.child2.child1, ntsrule[0]);
8574                    mark(p.child2.child2, ntsrule[1]);
8575                    break;
8576            case 379: // r: SYSCALL(INT_LOAD(riv,riv),any)
8577            case 376: // r: CALL(INT_LOAD(riv,riv),any)
8578                    mark(p.child1.child1, ntsrule[0]);
8579                    mark(p.child1.child2, ntsrule[1]);
8580                    mark(p.child2, ntsrule[2]);
8581                    break;
8582            case 387: // bittest: INT_AND(INT_SHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
8583            case 386: // bittest: INT_AND(INT_SHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
8584            case 384: // bittest: INT_AND(INT_USHR(load32,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
8585            case 383: // bittest: INT_AND(INT_USHR(r,INT_AND(r,INT_CONSTANT)),INT_CONSTANT)
8586                    mark(p.child1.child1, ntsrule[0]);
8587                    mark(p.child1.child2.child1, ntsrule[1]);
8588                    break;
8589            case 390: // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)),load32)
8590            case 389: // bittest: INT_AND(INT_SHL(INT_CONSTANT,INT_AND(riv,INT_CONSTANT)),r)
8591                    mark(p.child1.child2.child1, ntsrule[0]);
8592                    mark(p.child2, ntsrule[1]);
8593                    break;
8594            case 392: // bittest: INT_AND(load32,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
8595            case 391: // bittest: INT_AND(r,INT_SHL(INT_CONSTANT,INT_AND(r,INT_CONSTANT)))
8596                    mark(p.child1, ntsrule[0]);
8597                    mark(p.child2.child2.child1, ntsrule[1]);
8598                    break;
8599            case 481: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,DOUBLE_NEG(r))))
8600            case 477: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,FLOAT_NEG(r))))
8601                    mark(p.child1, ntsrule[0]);
8602                    mark(p.child2.child2.child1, ntsrule[1]);
8603                    mark(p.child2.child2.child2.child1, ntsrule[2]);
8604                    break;
8605            case 482: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(DOUBLE_NEG(r),r)))
8606            case 478: // r: FCMP_FCMOV(r,OTHER_OPERAND(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(FLOAT_NEG(r),r)))
8607                    mark(p.child1, ntsrule[0]);
8608                    mark(p.child2.child2.child1.child1, ntsrule[1]);
8609                    mark(p.child2.child2.child2, ntsrule[2]);
8610                    break;
8611            case 483: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(DOUBLE_NEG(r),r)))
8612            case 479: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(FLOAT_NEG(r),r)))
8613                    mark(p.child2.child1, ntsrule[0]);
8614                    mark(p.child2.child2.child1.child1, ntsrule[1]);
8615                    mark(p.child2.child2.child2, ntsrule[2]);
8616                    break;
8617            case 484: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,DOUBLE_NEG(r))))
8618            case 480: // r: FCMP_FCMOV(MATERIALIZE_FP_CONSTANT(INT_CONSTANT),OTHER_OPERAND(r,OTHER_OPERAND(r,FLOAT_NEG(r))))
8619                    mark(p.child2.child1, ntsrule[0]);
8620                    mark(p.child2.child2.child1, ntsrule[1]);
8621                    mark(p.child2.child2.child2.child1, ntsrule[2]);
8622                    break;
8623            }
8624    }
8625    
8626    public static final byte[] action={0
8627       ,NOFLAGS
8628       ,NOFLAGS
8629       ,NOFLAGS
8630       ,NOFLAGS
8631       ,NOFLAGS
8632       ,NOFLAGS
8633       ,NOFLAGS
8634       ,NOFLAGS
8635       ,NOFLAGS
8636       ,NOFLAGS
8637       ,NOFLAGS
8638       ,NOFLAGS
8639       ,NOFLAGS
8640       ,NOFLAGS
8641       ,NOFLAGS
8642       ,EMIT_INSTRUCTION
8643       ,EMIT_INSTRUCTION
8644       ,EMIT_INSTRUCTION
8645       ,EMIT_INSTRUCTION
8646       ,NOFLAGS
8647       ,NOFLAGS
8648       ,EMIT_INSTRUCTION
8649       ,EMIT_INSTRUCTION
8650       ,EMIT_INSTRUCTION
8651       ,EMIT_INSTRUCTION
8652       ,NOFLAGS
8653       ,NOFLAGS
8654       ,EMIT_INSTRUCTION
8655       ,EMIT_INSTRUCTION
8656       ,NOFLAGS
8657       ,NOFLAGS
8658       ,NOFLAGS
8659       ,NOFLAGS
8660       ,EMIT_INSTRUCTION
8661       ,EMIT_INSTRUCTION
8662       ,NOFLAGS
8663       ,NOFLAGS
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       ,NOFLAGS
8690       ,EMIT_INSTRUCTION
8691       ,EMIT_INSTRUCTION
8692       ,EMIT_INSTRUCTION
8693       ,EMIT_INSTRUCTION
8694       ,EMIT_INSTRUCTION
8695       ,EMIT_INSTRUCTION
8696       ,EMIT_INSTRUCTION
8697       ,EMIT_INSTRUCTION
8698       ,EMIT_INSTRUCTION
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
8714       ,EMIT_INSTRUCTION
8715       ,EMIT_INSTRUCTION
8716       ,EMIT_INSTRUCTION
8717       ,EMIT_INSTRUCTION
8718       ,EMIT_INSTRUCTION
8719       ,EMIT_INSTRUCTION
8720       ,EMIT_INSTRUCTION
8721       ,NOFLAGS
8722       ,EMIT_INSTRUCTION
8723       ,EMIT_INSTRUCTION
8724       ,EMIT_INSTRUCTION
8725       ,EMIT_INSTRUCTION
8726       ,EMIT_INSTRUCTION
8727       ,EMIT_INSTRUCTION
8728       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8729       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
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 | RIGHT_CHILD_FIRST
8745       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8746       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8747       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
8748       ,EMIT_INSTRUCTION | RIGHT_CHILD_FIRST
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       ,EMIT_INSTRUCTION
8851       ,EMIT_INSTRUCTION
8852       ,EMIT_INSTRUCTION
8853       ,EMIT_INSTRUCTION
8854       ,EMIT_INSTRUCTION
8855       ,EMIT_INSTRUCTION
8856       ,EMIT_INSTRUCTION
8857       ,EMIT_INSTRUCTION
8858       ,EMIT_INSTRUCTION
8859       ,EMIT_INSTRUCTION
8860       ,EMIT_INSTRUCTION
8861       ,EMIT_INSTRUCTION
8862       ,EMIT_INSTRUCTION
8863       ,EMIT_INSTRUCTION
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       ,NOFLAGS
8882       ,EMIT_INSTRUCTION
8883       ,NOFLAGS
8884       ,NOFLAGS
8885       ,NOFLAGS
8886       ,NOFLAGS
8887       ,NOFLAGS
8888       ,NOFLAGS
8889       ,NOFLAGS
8890       ,NOFLAGS
8891       ,NOFLAGS
8892       ,NOFLAGS
8893       ,NOFLAGS
8894       ,NOFLAGS
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       ,EMIT_INSTRUCTION
9043       ,EMIT_INSTRUCTION
9044       ,EMIT_INSTRUCTION
9045       ,EMIT_INSTRUCTION
9046       ,EMIT_INSTRUCTION
9047       ,EMIT_INSTRUCTION
9048       ,EMIT_INSTRUCTION
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       ,NOFLAGS
9075       ,EMIT_INSTRUCTION
9076       ,NOFLAGS
9077       ,EMIT_INSTRUCTION
9078       ,NOFLAGS
9079       ,EMIT_INSTRUCTION
9080       ,NOFLAGS
9081       ,EMIT_INSTRUCTION
9082       ,EMIT_INSTRUCTION
9083       ,EMIT_INSTRUCTION
9084       ,EMIT_INSTRUCTION
9085       ,EMIT_INSTRUCTION
9086       ,EMIT_INSTRUCTION
9087       ,EMIT_INSTRUCTION
9088       ,EMIT_INSTRUCTION
9089       ,EMIT_INSTRUCTION
9090       ,EMIT_INSTRUCTION
9091       ,EMIT_INSTRUCTION
9092       ,EMIT_INSTRUCTION
9093       ,EMIT_INSTRUCTION
9094       ,EMIT_INSTRUCTION
9095       ,EMIT_INSTRUCTION
9096       ,EMIT_INSTRUCTION
9097       ,EMIT_INSTRUCTION
9098       ,EMIT_INSTRUCTION
9099       ,EMIT_INSTRUCTION
9100       ,EMIT_INSTRUCTION
9101       ,EMIT_INSTRUCTION
9102       ,EMIT_INSTRUCTION
9103       ,EMIT_INSTRUCTION
9104       ,EMIT_INSTRUCTION
9105       ,EMIT_INSTRUCTION
9106       ,EMIT_INSTRUCTION
9107       ,EMIT_INSTRUCTION
9108       ,EMIT_INSTRUCTION
9109       ,EMIT_INSTRUCTION
9110       ,EMIT_INSTRUCTION
9111       ,EMIT_INSTRUCTION
9112       ,EMIT_INSTRUCTION
9113    };
9114    
9115    void code16(BURS_TreeNode p) {
9116        pushMO(MO_L(P(p), B));
9117    }
9118    void code17(BURS_TreeNode p) {
9119        pushMO(MO_AL(P(p), B_S, B));
9120    }
9121    void code18(BURS_TreeNode p) {
9122        pushMO(MO_L(P(p), B));
9123    }
9124    void code19(BURS_TreeNode p) {
9125        pushMO(MO_AL(P(p), B_S, B));
9126    }
9127    void code22(BURS_TreeNode p) {
9128        pushMO(MO_L(P(p), W));
9129    }
9130    void code23(BURS_TreeNode p) {
9131        pushMO(MO_AL(P(p), W_S, W));
9132    }
9133    void code24(BURS_TreeNode p) {
9134        pushMO(MO_L(P(p), W));
9135    }
9136    void code25(BURS_TreeNode p) {
9137        pushMO(MO_AL(P(p), W_S, W));
9138    }
9139    void code28(BURS_TreeNode p) {
9140        pushMO(MO_L(P(p), DW));
9141    }
9142    void code29(BURS_TreeNode p) {
9143        pushMO(MO_AL(P(p), DW_S, DW));
9144    }
9145    void code34(BURS_TreeNode p) {
9146        pushMO(MO_L(P(p), QW));
9147    }
9148    void code35(BURS_TreeNode p) {
9149        pushMO(MO_AL(P(p), QW_S, QW));
9150    }
9151    void code38(BURS_TreeNode p) {
9152        pushAddress(null, Binary.getVal1(P(p)).asRegister(), LEA_SHIFT(Binary.getVal2(P(p))), Offset.zero());
9153    }
9154    void code39(BURS_TreeNode p) {
9155        pushAddress(R(Binary.getVal1(P(p))), null, B_S, Offset.fromIntSignExtend(VR(p)));
9156    }
9157    void code40(BURS_TreeNode p) {
9158        pushAddress(R(Move.getVal(P(p))), null, B_S, Offset.zero());
9159    }
9160    void code41(BURS_TreeNode p) {
9161        pushAddress(R(Binary.getVal1(P(p))), R(Binary.getVal2(P(p))), B_S, Offset.zero());
9162    }
9163    void code42(BURS_TreeNode p) {
9164        augmentAddress(Binary.getVal2(P(p)));
9165    }
9166    void code43(BURS_TreeNode p) {
9167        augmentAddress(Binary.getVal2(P(p)));
9168    }
9169    void code44(BURS_TreeNode p) {
9170        augmentAddress(Binary.getVal1(P(p)));
9171    }
9172    void code45(BURS_TreeNode p) {
9173        augmentAddress(Binary.getVal2(P(p)));
9174    }
9175    void code46(BURS_TreeNode p) {
9176        augmentAddress(Binary.getVal2(P(p)));
9177    }
9178    void code47(BURS_TreeNode p) {
9179        combineAddresses();
9180    }
9181    void code48(BURS_TreeNode p) {
9182        combineAddresses();
9183    }
9184    void code49(BURS_TreeNode p) {
9185        augmentAddress(Binary.getVal2(P(p))); 
9186    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9187    }
9188    void code50(BURS_TreeNode p) {
9189        augmentAddress(Binary.getVal1(P(p))); 
9190    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9191    }
9192    void code51(BURS_TreeNode p) {
9193        combineAddresses(); 
9194    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9195    }
9196    void code52(BURS_TreeNode p) {
9197        combineAddresses(); 
9198    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9199    }
9200    void code53(BURS_TreeNode p) {
9201        augmentAddress(Binary.getVal2(P(p))); 
9202    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9203    }
9204    void code54(BURS_TreeNode p) {
9205        EMIT_Lea(P(p), Move.getResult(P(p)), consumeAddress(DW, null, null));
9206    }
9207    void code55(BURS_TreeNode p) {
9208        EMIT(InlineGuard.mutate(P(p), IG_PATCH_POINT, null, null, null, InlineGuard.getTarget(P(p)), InlineGuard.getBranchProfile(P(p))));
9209    }
9210    void code56(BURS_TreeNode p) {
9211        EMIT(P(p));
9212    }
9213    void code57(BURS_TreeNode p) {
9214        EMIT(P(p));
9215    }
9216    void code58(BURS_TreeNode p) {
9217        EMIT(P(p));
9218    }
9219    void code59(BURS_TreeNode p) {
9220        EMIT(P(p));
9221    }
9222    void code60(BURS_TreeNode p) {
9223        EMIT(P(p));
9224    }
9225    void code61(BURS_TreeNode p) {
9226        LOWTABLESWITCH(P(p));
9227    }
9228    void code62(BURS_TreeNode p) {
9229        RESOLVE(P(p));
9230    }
9231    void code64(BURS_TreeNode p) {
9232        EMIT(P(p));
9233    }
9234    void code65(BURS_TreeNode p) {
9235        EMIT(P(p));
9236    }
9237    void code66(BURS_TreeNode p) {
9238        EMIT(P(p));
9239    }
9240    void code67(BURS_TreeNode p) {
9241        PROLOGUE(P(p));
9242    }
9243    void code68(BURS_TreeNode p) {
9244        GET_EXCEPTION_OBJECT(P(p));
9245    }
9246    void code69(BURS_TreeNode p) {
9247        SET_EXCEPTION_OBJECT(P(p));
9248    }
9249    void code70(BURS_TreeNode p) {
9250        SET_EXCEPTION_OBJECT(P(p));
9251    }
9252    void code71(BURS_TreeNode p) {
9253        EMIT(MIR_Trap.mutate(P(p), IA32_INT, Trap.getGuardResult(P(p)), Trap.getTCode(P(p))));
9254    }
9255    void code72(BURS_TreeNode p) {
9256        TRAP_IF_IMM(P(p), false);
9257    }
9258    void code73(BURS_TreeNode p) {
9259        TRAP_IF_IMM(P(p), true);
9260    }
9261    void code74(BURS_TreeNode p) {
9262        EMIT(MIR_TrapIf.mutate(P(p), IA32_TRAPIF, 
9263                           TrapIf.getGuardResult(P(p)), 
9264                           TrapIf.getVal1(P(p)), 
9265                           TrapIf.getVal2(P(p)), 
9266                           COND(TrapIf.getCond(P(p))), 
9267                           TrapIf.getTCode(P(p))));
9268    }
9269    void code75(BURS_TreeNode p) {
9270        EMIT(MIR_TrapIf.mutate(P(p), IA32_TRAPIF, 
9271                           TrapIf.getGuardResult(P(p)), 
9272                           consumeMO(), 
9273                           TrapIf.getVal2(P(p)), 
9274                           COND(TrapIf.getCond(P(p))), 
9275                           TrapIf.getTCode(P(p))));
9276    }
9277    void code76(BURS_TreeNode p) {
9278        EMIT(MIR_TrapIf.mutate(P(p), IA32_TRAPIF, 
9279                           TrapIf.getGuardResult(P(p)), 
9280                           TrapIf.getVal1(P(p)), 
9281                           consumeMO(), 
9282                           COND(TrapIf.getCond(P(p))), 
9283                           TrapIf.getTCode(P(p))));
9284    }
9285    void code77(BURS_TreeNode p) {
9286        EMIT_Commutative(IA32_XOR, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)), IC(1));
9287    }
9288    void code78(BURS_TreeNode p) {
9289        EMIT_Commutative(IA32_XOR, P(p), MO_S(P(p), B), MO_S(P(p), B), IC(1));
9290    }
9291    void code79(BURS_TreeNode p) {
9292        EMIT_Commutative(IA32_XOR, P(p), MO_AS(P(p), B_S, B), MO_AS(P(p), B_S, B), IC(1));
9293    }
9294    void code80(BURS_TreeNode p) {
9295        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), 
9296       BooleanCmp.getVal1(P(p)), BooleanCmp.getVal2(P(p)), 
9297       BooleanCmp.getCond(P(p)));
9298    }
9299    void code81(BURS_TreeNode p) {
9300        pushCOND(BooleanCmp.getCond(P(p))); 
9301    EMIT(MIR_Compare.mutate(P(p), IA32_CMP, BooleanCmp.getVal1(P(p)), BooleanCmp.getVal2(P(p))));
9302    }
9303    void code82(BURS_TreeNode p) {
9304        EMIT(CPOS(P(p),MIR_Test.create(IA32_TEST, BooleanCmp.getVal1(P(p)), BooleanCmp.getVal1(P(p)).copy())));
9305    BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getCond(P(p)));
9306    }
9307    void code83(BURS_TreeNode p) {
9308        pushCOND(BooleanCmp.getCond(P(p))); 
9309    EMIT(CPOS(P(p),MIR_Test.create(IA32_TEST, BooleanCmp.getVal1(P(p)), BooleanCmp.getVal1(P(p)).copy())));
9310    }
9311    void code84(BURS_TreeNode p) {
9312        EMIT_Commutative(IA32_SHR, P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getVal1(P(p)), IC(31));
9313    }
9314    void code85(BURS_TreeNode p) {
9315        EMIT_Commutative(IA32_SHR, P(p), BooleanCmp.getResult(P(p)), consumeMO(), IC(31));
9316    }
9317    void code86(BURS_TreeNode p) {
9318        RegisterOperand result = BooleanCmp.getResult(P(p)); 
9319    EMIT_Commutative(IA32_SHR, P(p), result, BooleanCmp.getVal1(P(p)), IC(31)); 
9320    EMIT(CPOS(P(p),MIR_BinaryAcc.create(IA32_XOR, result.copyRO(), IC(1))));
9321    }
9322    void code87(BURS_TreeNode p) {
9323        RegisterOperand result = BooleanCmp.getResult(P(p)); 
9324    EMIT_Commutative(IA32_SHR, P(p), result, consumeMO(), IC(31)); 
9325    EMIT(CPOS(P(p),MIR_BinaryAcc.create(IA32_XOR, result.copyRO(), IC(1))));
9326    }
9327    void code88(BURS_TreeNode p) {
9328        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getCond(P(p)));
9329    }
9330    void code89(BURS_TreeNode p) {
9331        pushCOND(BooleanCmp.getCond(P(p)));
9332    }
9333    void code90(BURS_TreeNode p) {
9334        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getCond(P(p)));
9335    }
9336    void code91(BURS_TreeNode p) {
9337        pushCOND(BooleanCmp.getCond(P(p)));
9338    }
9339    void code92(BURS_TreeNode p) {
9340        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), BIT_TEST(VR(p),BooleanCmp.getCond(P(p))));
9341    }
9342    void code93(BURS_TreeNode p) {
9343        pushCOND(BIT_TEST(VR(p),BooleanCmp.getCond(P(p))));
9344    }
9345    void code94(BURS_TreeNode p) {
9346        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), consumeCOND());
9347    }
9348    void code96(BURS_TreeNode p) {
9349        BOOLEAN_CMP_INT(P(p), BooleanCmp.getResult(P(p)), consumeCOND().flipCode());
9350    }
9351    void code97(BURS_TreeNode p) {
9352        pushCOND(consumeCOND().flipCode()); // invert already pushed condition
9353    }
9354    void code98(BURS_TreeNode p) {
9355        BOOLEAN_CMP_INT(PL(p), BooleanCmp.getResult(P(p)), 
9356                consumeMO(), BooleanCmp.getVal2(P(p)), 
9357                BooleanCmp.getCond(P(p)));
9358    }
9359    void code99(BURS_TreeNode p) {
9360        pushCOND(BooleanCmp.getCond(P(p))); 
9361    EMIT(MIR_Compare.mutate(PL(p), IA32_CMP, consumeMO(), BooleanCmp.getVal2(P(p))));
9362    }
9363    void code100(BURS_TreeNode p) {
9364        BOOLEAN_CMP_INT(PR(p), BooleanCmp.getResult(P(p)), 
9365                BooleanCmp.getVal1(P(p)), consumeMO(), 
9366                BooleanCmp.getCond(P(p)));
9367    }
9368    void code101(BURS_TreeNode p) {
9369        pushCOND(BooleanCmp.getCond(P(p)).flipOperands()); 
9370    EMIT(MIR_Compare.mutate(PR(p), IA32_CMP, consumeMO(), BooleanCmp.getVal1(P(p))));
9371    }
9372    void code102(BURS_TreeNode p) {
9373        EMIT(MIR_Set.mutate(P(p), IA32_SET__B, MO_S(P(p),B), COND(consumeCOND())));
9374    }
9375    void code103(BURS_TreeNode p) {
9376        EMIT(MIR_Set.mutate(P(p), IA32_SET__B, MO_AS(P(p),B_S,B), COND(consumeCOND())));
9377    }
9378    void code104(BURS_TreeNode p) {
9379        BOOLEAN_CMP_LONG(P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getVal1(P(p)), BooleanCmp.getVal2(P(p)), BooleanCmp.getCond(P(p)));
9380    }
9381    void code105(BURS_TreeNode p) {
9382        pushCOND(BooleanCmp.getCond(P(p))); 
9383    LONG_CMP(P(p), BooleanCmp.getResult(P(p)), BooleanCmp.getVal1(P(p)), BooleanCmp.getVal2(P(p))); 
9384    EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, BooleanCmp.getResult(P(p)), IC(0))));
9385    }
9386    void code106(BURS_TreeNode p) {
9387        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP,  CondMove.getVal1(P(p)), CondMove.getVal2(P(p))))); 
9388    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9389             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9390    }
9391    void code107(BURS_TreeNode p) {
9392        EMIT(CPOS(P(p), MIR_Test.create(IA32_TEST, CondMove.getVal1(P(p)), CondMove.getVal1(P(p)).copy()))); 
9393    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9394             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9395    }
9396    void code108(BURS_TreeNode p) {
9397        EMIT_Commutative(IA32_SAR, P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), IC(31));
9398    }
9399    void code109(BURS_TreeNode p) {
9400        EMIT_Commutative(IA32_SAR, P(p), CondMove.getResult(P(p)), consumeMO(), IC(31));
9401    }
9402    void code110(BURS_TreeNode p) {
9403        RegisterOperand result = CondMove.getResult(P(p)); 
9404    EMIT_Commutative(IA32_SAR, P(p), result, CondMove.getVal1(P(p)), IC(31)); 
9405    EMIT(CPOS(P(p),MIR_UnaryAcc.create(IA32_NOT, result.copyRO())));
9406    }
9407    void code111(BURS_TreeNode p) {
9408        RegisterOperand result = CondMove.getResult(P(p)); 
9409    EMIT_Commutative(IA32_SAR, P(p), result, consumeMO(), IC(31)); 
9410    EMIT(CPOS(P(p),MIR_UnaryAcc.create(IA32_NOT, result.copyRO())));
9411    }
9412    void code112(BURS_TreeNode p) {
9413        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal2(P(p))))); 
9414    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9415             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9416    }
9417    void code113(BURS_TreeNode p) {
9418        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal2(P(p))))); 
9419    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9420             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9421    }
9422    void code114(BURS_TreeNode p) {
9423        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal2(P(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 code115(BURS_TreeNode p) {
9428        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal2(P(p))))); 
9429    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9430             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9431    }
9432    void code116(BURS_TreeNode p) {
9433        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal2(P(p))))); 
9434    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9435             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9436    }
9437    void code117(BURS_TreeNode p) {
9438        EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), CondMove.getVal1(P(p))))); 
9439    CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)).flipOperands(), 
9440             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9441    }
9442    void code118(BURS_TreeNode p) {
9443        CMOV_MOV(P(p), CondMove.getResult(P(p)), consumeCOND(), 
9444             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9445    }
9446    void code119(BURS_TreeNode p) {
9447        CMOV_MOV(P(p), CondMove.getResult(P(p)), consumeCOND().flipCode(), 
9448             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9449    }
9450    void code120(BURS_TreeNode p) {
9451        CMOV_MOV(P(p), CondMove.getResult(P(p)), BIT_TEST(VRL(p), CondMove.getCond(P(p))), 
9452             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9453    }
9454    void code121(BURS_TreeNode p) {
9455        CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9456             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9457    }
9458    void code122(BURS_TreeNode p) {
9459        CMOV_MOV(P(p), CondMove.getResult(P(p)), CondMove.getCond(P(p)), 
9460             CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9461    }
9462    void code123(BURS_TreeNode p) {
9463        LCMP_CMOV(P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)), CondMove.getVal2(P(p)),
9464              CondMove.getCond(P(p)), CondMove.getTrueValue(P(p)), CondMove.getFalseValue(P(p)));
9465    }
9466    void code124(BURS_TreeNode p) {
9467        EMIT_Commutative(IA32_ADD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9468    }
9469    void code125(BURS_TreeNode p) {
9470        if (Binary.getVal2(P(p)).isIntConstant()) { 
9471     pushAddress(R(Binary.getVal1(P(p))), null, B_S, Offset.fromIntSignExtend(VR(p))); 
9472    } else { 
9473     pushAddress(R(Binary.getVal1(P(p))), R(Binary.getVal2(P(p))), B_S, Offset.zero()); 
9474    } 
9475    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9476    }
9477    void code126(BURS_TreeNode p) {
9478        EMIT_Commutative(IA32_ADD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
9479    }
9480    void code127(BURS_TreeNode p) {
9481        EMIT_Commutative(IA32_ADD, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
9482    }
9483    void code128(BURS_TreeNode p) {
9484        EMIT_Commutative(IA32_ADD, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal2(PL(p)));
9485    }
9486    void code129(BURS_TreeNode p) {
9487        EMIT_Commutative(IA32_ADD, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal1(PL(p)));
9488    }
9489    void code130(BURS_TreeNode p) {
9490        EMIT_Commutative(IA32_ADD, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p)));
9491    }
9492    void code131(BURS_TreeNode p) {
9493        EMIT_Commutative(IA32_ADD, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal1(PL(p)));
9494    }
9495    void code132(BURS_TreeNode p) {
9496        EMIT_NonCommutative(IA32_SUB, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9497    }
9498    void code133(BURS_TreeNode p) {
9499        EMIT(CPOS(P(p), MIR_UnaryAcc.create(IA32_NEG, Binary.getResult(P(p))))); 
9500    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_ADD, Binary.getResult(P(p)), Binary.getVal1(P(p))));
9501    }
9502    void code134(BURS_TreeNode p) {
9503        EMIT(CPOS(P(p), MIR_UnaryAcc.create(IA32_NEG, Binary.getResult(P(p))))); 
9504    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_ADD, Binary.getResult(P(p)), consumeMO()));
9505    }
9506    void code135(BURS_TreeNode p) {
9507        EMIT_NonCommutative(IA32_SUB, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
9508    }
9509    void code136(BURS_TreeNode p) {
9510        EMIT_NonCommutative(IA32_SUB, P(p), Binary.getResult(P(p)), consumeMO(), Binary.getVal2(P(p)));
9511    }
9512    void code137(BURS_TreeNode p) {
9513        EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SUB, MO_S(P(p), DW), Binary.getVal2(PL(p))));
9514    }
9515    void code138(BURS_TreeNode p) {
9516        MemoryOperand result = MO_S(P(p), DW); 
9517    EMIT(CPOS(P(p), MIR_UnaryAcc.create(IA32_NEG, result))); 
9518    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_ADD, result.copy(), Binary.getVal1(PL(p))));
9519    }
9520    void code139(BURS_TreeNode p) {
9521        EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SUB, MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p))));
9522    }
9523    void code140(BURS_TreeNode p) {
9524        MemoryOperand result = MO_AS(P(p), DW_S, DW); 
9525    EMIT(CPOS(P(p), MIR_UnaryAcc.create(IA32_NEG, result))); 
9526    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_ADD, result.copy(), Binary.getVal1(PL(p))));
9527    }
9528    void code141(BURS_TreeNode p) {
9529        EMIT_Commutative(IA32_IMUL2, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9530    }
9531    void code142(BURS_TreeNode p) {
9532        EMIT_Commutative(IA32_IMUL2, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
9533    }
9534    void code143(BURS_TreeNode p) {
9535        EMIT_Commutative(IA32_IMUL2, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
9536    }
9537    void code144(BURS_TreeNode p) {
9538        INT_DIVIDES(P(p), GuardedBinary.getResult(P(p)), GuardedBinary.getVal1(P(p)), 
9539                            GuardedBinary.getVal2(P(p)), true);
9540    }
9541    void code145(BURS_TreeNode p) {
9542        INT_DIVIDES(P(p), GuardedBinary.getResult(P(p)), GuardedBinary.getVal1(P(p)), 
9543                            consumeMO(), true);
9544    }
9545    void code146(BURS_TreeNode p) {
9546        INT_DIVIDES(P(p), GuardedBinary.getResult(P(p)), GuardedBinary.getVal1(P(p)), 
9547                            GuardedBinary.getVal2(P(p)), false);
9548    }
9549    void code147(BURS_TreeNode p) {
9550        INT_DIVIDES(P(p), GuardedBinary.getResult(P(p)), GuardedBinary.getVal1(P(p)), 
9551                            consumeMO(), false);
9552    }
9553    void code148(BURS_TreeNode p) {
9554        EMIT_Unary(IA32_NEG, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
9555    }
9556    void code149(BURS_TreeNode p) {
9557        EMIT_Unary(IA32_NEG, P(p), MO_S(P(p), DW), MO_S(P(p), DW));
9558    }
9559    void code150(BURS_TreeNode p) {
9560        EMIT_Unary(IA32_NEG, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW));
9561    }
9562    void code151(BURS_TreeNode p) {
9563        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PR(p))))); 
9564    EMIT_NonCommutative(IA32_SHL, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9565    }
9566    void code152(BURS_TreeNode p) {
9567        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal2(P(p))))); 
9568    EMIT_NonCommutative(IA32_SHL, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9569    }
9570    void code153(BURS_TreeNode p) {
9571        if (VM.VerifyAssertions) VM._assert((VR(p) & 0x7FFFFFFF) <= 31); if(Binary.getVal2(P(p)).asIntConstant().value == 1) { 
9572     EMIT_NonCommutative(IA32_ADD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal1(P(p)).copy()); 
9573    } else { 
9574     EMIT_NonCommutative(IA32_SHL, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p))); 
9575    }
9576    }
9577    void code154(BURS_TreeNode p) {
9578        pushAddress(null, Binary.getVal1(P(p)).asRegister(), LEA_SHIFT(Binary.getVal2(P(p))), Offset.zero()); 
9579    EMIT_Lea(P(p), Binary.getResult(P(p)), consumeAddress(DW, null, null));
9580    }
9581    void code155(BURS_TreeNode p) {
9582        EMIT_Commutative(IA32_AND, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)), IC(0xffffffff << VR(p)));
9583    }
9584    void code156(BURS_TreeNode p) {
9585        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p))))); 
9586    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHL, MO_S(P(p), DW), new RegisterOperand(getECX(), TypeReference.Int)));
9587    }
9588    void code157(BURS_TreeNode p) {
9589        if (VM.VerifyAssertions) VM._assert((VLR(p) & 0x7FFFFFFF) <= 31); 
9590    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHL, MO_S(P(p), DW), Binary.getVal2(PL(p))));
9591    }
9592    void code158(BURS_TreeNode p) {
9593        EMIT(MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p)))); 
9594    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHL, MO_AS(P(p), DW_S, DW), new RegisterOperand(getECX(), TypeReference.Int)));
9595    }
9596    void code159(BURS_TreeNode p) {
9597        EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHL, MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p))));
9598    }
9599    void code160(BURS_TreeNode p) {
9600        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PR(p))))); 
9601    EMIT_NonCommutative(IA32_SAR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9602    }
9603    void code161(BURS_TreeNode p) {
9604        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal2(P(p))))); 
9605    EMIT_NonCommutative(IA32_SAR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9606    }
9607    void code162(BURS_TreeNode p) {
9608        if (VM.VerifyAssertions) VM._assert((VR(p) & 0x7FFFFFFF) <= 31); 
9609    EMIT_NonCommutative(IA32_SAR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9610    }
9611    void code163(BURS_TreeNode p) {
9612        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p))))); 
9613    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SAR, MO_S(P(p), DW), new RegisterOperand(getECX(), TypeReference.Int)));
9614    }
9615    void code164(BURS_TreeNode p) {
9616        if (VM.VerifyAssertions) VM._assert((VLR(p) & 0x7FFFFFFF) <= 31); 
9617    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SAR, MO_S(P(p), DW), Binary.getVal2(PL(p))));
9618    }
9619    void code165(BURS_TreeNode p) {
9620        EMIT(MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p)))); 
9621    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SAR, MO_AS(P(p), DW_S, DW), new RegisterOperand(getECX(), TypeReference.Int)));
9622    }
9623    void code166(BURS_TreeNode p) {
9624        EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SAR, MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p))));
9625    }
9626    void code167(BURS_TreeNode p) {
9627        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PR(p))))); 
9628    EMIT_NonCommutative(IA32_SHR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9629    }
9630    void code168(BURS_TreeNode p) {
9631        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal2(P(p))))); 
9632    EMIT_NonCommutative(IA32_SHR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), new RegisterOperand(getECX(), TypeReference.Int));
9633    }
9634    void code169(BURS_TreeNode p) {
9635        if (VM.VerifyAssertions) VM._assert((VR(p) & 0x7FFFFFFF) <= 31); 
9636    EMIT_NonCommutative(IA32_SHR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9637    }
9638    void code170(BURS_TreeNode p) {
9639        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p))))); 
9640    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHR, MO_S(P(p), DW), new RegisterOperand(getECX(), TypeReference.Int)));
9641    }
9642    void code171(BURS_TreeNode p) {
9643        if (VM.VerifyAssertions) VM._assert((VLR(p) & 0x7FFFFFFF) <= 31); 
9644    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHR, MO_S(P(p), DW), Binary.getVal2(PL(p))));
9645    }
9646    void code172(BURS_TreeNode p) {
9647        EMIT(MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p)))); 
9648    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHR, MO_AS(P(p), DW_S, DW), new RegisterOperand(getECX(), TypeReference.Int)));
9649    }
9650    void code173(BURS_TreeNode p) {
9651        EMIT(MIR_BinaryAcc.mutate(P(p), IA32_SHR, MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p))));
9652    }
9653    void code174(BURS_TreeNode p) {
9654        EMIT_NonCommutative(IA32_ROL, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), IC(VLR(p)&0x1f));
9655    }
9656    void code175(BURS_TreeNode p) {
9657        EMIT_NonCommutative(IA32_ROL, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), IC(VRR(p)&0x1f));
9658    }
9659    void code176(BURS_TreeNode p) {
9660        EMIT_NonCommutative(IA32_ROR, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), IC(1));
9661    }
9662    void code177(BURS_TreeNode p) {
9663        EMIT_NonCommutative(IA32_ROR, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), IC(1));
9664    }
9665    void code178(BURS_TreeNode p) {
9666        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p))))); 
9667    EMIT_NonCommutative(IA32_ROL, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), new RegisterOperand(getECX(), TypeReference.Int));
9668    }
9669    void code179(BURS_TreeNode p) {
9670        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PRR(p))))); 
9671    EMIT_NonCommutative(IA32_ROL, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), new RegisterOperand(getECX(), TypeReference.Int));
9672    }
9673    void code180(BURS_TreeNode p) {
9674        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PRR(p))))); 
9675    EMIT_NonCommutative(IA32_ROR, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), new RegisterOperand(getECX(), TypeReference.Int));
9676    }
9677    void code181(BURS_TreeNode p) {
9678        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(getECX(), TypeReference.Int), Binary.getVal1(PLR(p))))); 
9679    EMIT_NonCommutative(IA32_ROR, P(p), Binary.getResult(P(p)), Binary.getVal1(PL(p)).copy(), new RegisterOperand(getECX(), TypeReference.Int));
9680    }
9681    void code182(BURS_TreeNode p) {
9682        EMIT_Commutative(IA32_AND, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9683    }
9684    void code183(BURS_TreeNode p) {
9685        EMIT(MIR_Test.mutate(P(p), IA32_TEST, Binary.getVal1(P(p)), Binary.getVal2(P(p))));
9686    }
9687    void code184(BURS_TreeNode p) {
9688        EMIT_Commutative(IA32_AND, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
9689    }
9690    void code185(BURS_TreeNode p) {
9691        EMIT_Commutative(IA32_AND, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
9692    }
9693    void code186(BURS_TreeNode p) {
9694        EMIT(MIR_Test.mutate(P(p), IA32_TEST, consumeMO(), Binary.getVal2(P(p))));
9695    }
9696    void code187(BURS_TreeNode p) {
9697        EMIT(MIR_Test.mutate(P(p), IA32_TEST, consumeMO(), Binary.getVal1(P(p))));
9698    }
9699    void code188(BURS_TreeNode p) {
9700        EMIT_Commutative(IA32_AND, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal2(PL(p)) );
9701    }
9702    void code189(BURS_TreeNode p) {
9703        EMIT_Commutative(IA32_AND, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal1(PL(p)) );
9704    }
9705    void code190(BURS_TreeNode p) {
9706        EMIT_Commutative(IA32_AND, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p)) );
9707    }
9708    void code191(BURS_TreeNode p) {
9709        EMIT_Commutative(IA32_AND, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal1(PL(p)) );
9710    }
9711    void code192(BURS_TreeNode p) {
9712        EMIT_Commutative(IA32_OR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9713    }
9714    void code193(BURS_TreeNode p) {
9715        EMIT_Commutative(IA32_OR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO() );
9716    }
9717    void code194(BURS_TreeNode p) {
9718        EMIT_Commutative(IA32_OR, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO() );
9719    }
9720    void code195(BURS_TreeNode p) {
9721        EMIT_Commutative(IA32_OR, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal2(PL(p)) );
9722    }
9723    void code196(BURS_TreeNode p) {
9724        EMIT_Commutative(IA32_OR, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal1(PL(p)) );
9725    }
9726    void code197(BURS_TreeNode p) {
9727        EMIT_Commutative(IA32_OR, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p)) );
9728    }
9729    void code198(BURS_TreeNode p) {
9730        EMIT_Commutative(IA32_OR, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal1(PL(p)) );
9731    }
9732    void code199(BURS_TreeNode p) {
9733        EMIT_Commutative(IA32_XOR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9734    }
9735    void code200(BURS_TreeNode p) {
9736        EMIT_Commutative(IA32_XOR, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO() );
9737    }
9738    void code201(BURS_TreeNode p) {
9739        EMIT_Commutative(IA32_XOR, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO() );
9740    }
9741    void code202(BURS_TreeNode p) {
9742        EMIT_Commutative(IA32_XOR, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal2(PL(p)) );
9743    }
9744    void code203(BURS_TreeNode p) {
9745        EMIT_Commutative(IA32_XOR, P(p), MO_S(P(p), DW), MO_S(P(p), DW), Binary.getVal1(PL(p)) );
9746    }
9747    void code204(BURS_TreeNode p) {
9748        EMIT_Commutative(IA32_XOR, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal2(PL(p)) );
9749    }
9750    void code205(BURS_TreeNode p) {
9751        EMIT_Commutative(IA32_XOR, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW), Binary.getVal1(PL(p)) );
9752    }
9753    void code206(BURS_TreeNode p) {
9754        EMIT_Unary(IA32_NOT, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
9755    }
9756    void code207(BURS_TreeNode p) {
9757        EMIT_Unary(IA32_NOT, P(p), MO_S(P(p), DW), MO_S(P(p), DW));
9758    }
9759    void code208(BURS_TreeNode p) {
9760        EMIT_Unary(IA32_NOT, P(p), MO_AS(P(p), DW_S, DW), MO_AS(P(p), DW_S, DW));
9761    }
9762    void code209(BURS_TreeNode p) {
9763        LONG_ADD(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9764    }
9765    void code210(BURS_TreeNode p) {
9766        LONG_SUB(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9767    }
9768    void code211(BURS_TreeNode p) {
9769        LONG_MUL(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9770    }
9771    void code212(BURS_TreeNode p) {
9772        LONG_NEG(P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
9773    }
9774    void code213(BURS_TreeNode p) {
9775        LONG_SHL(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)), false);
9776    }
9777    void code214(BURS_TreeNode p) {
9778        if (VM.VerifyAssertions) VM._assert((VRR(p) & 0x7FFFFFFF) <= 63); 
9779    LONG_SHL(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal1(PR(p)), true);
9780    }
9781    void code215(BURS_TreeNode p) {
9782        LONG_SHR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)), false);
9783    }
9784    void code216(BURS_TreeNode p) {
9785        if (VM.VerifyAssertions) VM._assert((VRR(p) & 0x7FFFFFFF) <= 63); 
9786    LONG_SHR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal1(PR(p)), true);
9787    }
9788    void code217(BURS_TreeNode p) {
9789        LONG_USHR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)), false);
9790    }
9791    void code218(BURS_TreeNode p) {
9792        if (VM.VerifyAssertions) VM._assert((VRR(p) & 0x7FFFFFFF) <= 63); 
9793    LONG_USHR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal1(PR(p)), true);
9794    }
9795    void code219(BURS_TreeNode p) {
9796        LONG_AND(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9797    }
9798    void code220(BURS_TreeNode p) {
9799        LONG_OR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9800    }
9801    void code221(BURS_TreeNode p) {
9802        LONG_XOR(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
9803    }
9804    void code222(BURS_TreeNode p) {
9805        LONG_NOT(P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
9806    }
9807    void code223(BURS_TreeNode p) {
9808        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__B, Unary.getResult(P(p)), Unary.getVal(P(p))));
9809    }
9810    void code224(BURS_TreeNode p) {
9811        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__B, Unary.getResult(P(p)), consumeMO()));
9812    }
9813    void code225(BURS_TreeNode p) {
9814        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), B), Unary.getVal(PL(p))));
9815    }
9816    void code226(BURS_TreeNode p) {
9817        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), B_S, B), Unary.getVal(PL(p))));
9818    }
9819    void code227(BURS_TreeNode p) {
9820        EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, Unary.getResult(P(p)), Unary.getVal(P(p))))); 
9821    EMIT(MIR_BinaryAcc.mutate(P(p), IA32_AND, Unary.getResult(P(p)).copyRO(), IC(0xFFFF)));
9822    }
9823    void code228(BURS_TreeNode p) {
9824        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, Unary.getResult(P(p)), setSize(consumeMO(),2)));
9825    }
9826    void code229(BURS_TreeNode p) {
9827        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), W), Unary.getVal(PL(p))));
9828    }
9829    void code230(BURS_TreeNode p) {
9830        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), W_S, W), Unary.getVal(PL(p))));
9831    }
9832    void code231(BURS_TreeNode p) {
9833        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__W, Unary.getResult(P(p)), Unary.getVal(P(p))));
9834    }
9835    void code232(BURS_TreeNode p) {
9836        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__W, Unary.getResult(P(p)), consumeMO()));
9837    }
9838    void code233(BURS_TreeNode p) {
9839        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), W), Unary.getVal(PL(p))));
9840    }
9841    void code234(BURS_TreeNode p) {
9842        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), W_S, W), Unary.getVal(PL(p))));
9843    }
9844    void code235(BURS_TreeNode p) {
9845        INT_2LONG(P(p), Unary.getResult(P(p)), Unary.getVal(P(p)), true);
9846    }
9847    void code236(BURS_TreeNode p) {
9848        INT_2LONG(P(p), Unary.getResult(P(p)), consumeMO(), true);
9849    }
9850    void code237(BURS_TreeNode p) {
9851        INT_2LONG(P(p), Binary.getResult(P(p)), Unary.getVal(PL(p)), false);
9852    }
9853    void code238(BURS_TreeNode p) {
9854        INT_2LONG(P(p), Binary.getResult(P(p)), consumeMO(), false);
9855    }
9856    void code239(BURS_TreeNode p) {
9857        Register hr = Binary.getResult(P(p)).getRegister(); 
9858    Register lr = regpool.getSecondReg(hr); 
9859    EMIT(MIR_Move.mutate(P(p), IA32_MOV, new RegisterOperand(hr, TypeReference.Int), Unary.getVal(PL(p)).copy())); 
9860    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(lr, TypeReference.Int), IC(0))));
9861    }
9862    void code240(BURS_TreeNode p) {
9863        Register hr = Binary.getResult(P(p)).getRegister(); 
9864    Register lr = regpool.getSecondReg(hr); 
9865    EMIT(MIR_Move.mutate(P(p), IA32_MOV, new RegisterOperand(hr, TypeReference.Int), setSize(consumeMO(),4))); 
9866    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(lr, TypeReference.Int), IC(0))));
9867    }
9868    void code241(BURS_TreeNode p) {
9869        INT_2LONG(P(p), Unary.getResult(P(p)), Unary.getVal(P(p)), false);
9870    }
9871    void code242(BURS_TreeNode p) {
9872        INT_2LONG(P(p), Unary.getResult(P(p)), consumeMO(), false);
9873    }
9874    void code243(BURS_TreeNode p) {
9875        Register lh = regpool.getSecondReg(R(Unary.getVal(P(p))).getRegister()); 
9876    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), new RegisterOperand(lh, TypeReference.Int)));
9877    }
9878    void code244(BURS_TreeNode p) {
9879        Register lh = regpool.getSecondReg(R(Unary.getVal(PL(p))).getRegister()); 
9880    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), DW), new RegisterOperand(lh, TypeReference.Int)));
9881    }
9882    void code245(BURS_TreeNode p) {
9883        Register lh = regpool.getSecondReg(R(Unary.getVal(PL(p))).getRegister()); 
9884    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), DW_S, DW), new RegisterOperand(lh, TypeReference.Int)));
9885    }
9886    void code246(BURS_TreeNode p) {
9887        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), setSize(consumeMO(),4)));
9888    }
9889    void code247(BURS_TreeNode p) {
9890        Register uh = Binary.getVal1(PL(p)).asRegister().getRegister(); 
9891    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), new RegisterOperand(uh, TypeReference.Int)));
9892    }
9893    void code248(BURS_TreeNode p) {
9894        Register uh = Binary.getVal1(PL(p)).asRegister().getRegister(); 
9895    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), new RegisterOperand(uh, TypeReference.Int)));
9896    }
9897    void code249(BURS_TreeNode p) {
9898        MemoryOperand mo = consumeMO(); 
9899    mo.disp = mo.disp.plus(4); 
9900    mo = setSize(mo,4); 
9901    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), mo));
9902    }
9903    void code250(BURS_TreeNode p) {
9904        MemoryOperand mo = consumeMO(); 
9905    mo.disp = mo.disp.plus(4); 
9906    mo = setSize(mo,4); 
9907    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Unary.getResult(P(p)), mo));
9908    }
9909    void code251(BURS_TreeNode p) {
9910        MemoryOperand mo = consumeMO(); 
9911    mo.disp = mo.disp.plus(4); 
9912    mo = setSize(mo,4); 
9913    pushMO(mo);
9914    }
9915    void code252(BURS_TreeNode p) {
9916        MemoryOperand mo = consumeMO(); 
9917    mo.disp = mo.disp.plus(4); 
9918    mo = setSize(mo,4); 
9919    pushMO(mo);
9920    }
9921    void code253(BURS_TreeNode p) {
9922        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Move.getResult(P(p)), Move.getVal(P(p))));
9923    }
9924    void code254(BURS_TreeNode p) {
9925        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Move.getResult(P(p)), Move.getVal(P(p))));
9926    }
9927    void code256(BURS_TreeNode p) {
9928        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Move.getResult(P(p)), Move.getVal(P(p))));
9929    }
9930    void code269(BURS_TreeNode p) {
9931        Register res1 = Move.getResult(P(p)).getRegister();           
9932    Register res2 = regpool.getSecondReg(res1);              
9933    Register val1 = Move.getVal(P(p)).asRegister().getRegister(); 
9934    Register val2 = regpool.getSecondReg(val1);              
9935    EMIT(MIR_Move.mutate(P(p), IA32_MOV, new RegisterOperand(res1, TypeReference.Int), 
9936                         new RegisterOperand(val1, TypeReference.Int)));               
9937    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(res2, TypeReference.Int), 
9938                         new RegisterOperand(val2, TypeReference.Int))));
9939    }
9940    void code270(BURS_TreeNode p) {
9941        Register res1 = Move.getResult(P(p)).getRegister();   
9942    Register res2 = regpool.getSecondReg(res1);      
9943    LongConstantOperand val = LC(Move.getVal(P(p))); 
9944    EMIT(MIR_Move.mutate(P(p), IA32_MOV, new RegisterOperand(res1, TypeReference.Int), IC(val.upper32()))); 
9945    EMIT(CPOS(P(p),MIR_Move.create(IA32_MOV, new RegisterOperand(res2, TypeReference.Int), IC(val.lower32()))));
9946    }
9947    void code271(BURS_TreeNode p) {
9948        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Nullary.getResult(P(p)), new RegisterOperand(getESI(), TypeReference.Int)));
9949    }
9950    void code272(BURS_TreeNode p) {
9951        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__B, Load.getResult(P(p)), MO_L(P(p), B)));
9952    }
9953    void code273(BURS_TreeNode p) {
9954        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__B, ALoad.getResult(P(p)), MO_AL(P(p), B_S, B)));
9955    }
9956    void code274(BURS_TreeNode p) {
9957        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__B, Load.getResult(P(p)), MO_L(P(p), B)));
9958    }
9959    void code275(BURS_TreeNode p) {
9960        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__B, ALoad.getResult(P(p)), MO_AL(P(p), B_S, B)));
9961    }
9962    void code276(BURS_TreeNode p) {
9963        pushMO(setSize(consumeMO(),1));
9964    }
9965    void code277(BURS_TreeNode p) {
9966        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__B, Binary.getResult(P(p)), setSize(consumeMO(),1)));
9967    }
9968    void code278(BURS_TreeNode p) {
9969        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__B, Unary.getResult(P(p)), setSize(consumeMO(),1)));
9970    }
9971    void code279(BURS_TreeNode p) {
9972        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__B, Binary.getResult(P(p)), setSize(consumeMO(),1)));
9973    }
9974    void code280(BURS_TreeNode p) {
9975        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__W, Load.getResult(P(p)), MO_L(P(p), W)));
9976    }
9977    void code281(BURS_TreeNode p) {
9978        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__W, ALoad.getResult(P(p)), MO_AL(P(p), W_S, W)));
9979    }
9980    void code282(BURS_TreeNode p) {
9981        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, Load.getResult(P(p)), MO_L(P(p), W)));
9982    }
9983    void code283(BURS_TreeNode p) {
9984        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, ALoad.getResult(P(p)), MO_AL(P(p), W_S, W)));
9985    }
9986    void code284(BURS_TreeNode p) {
9987        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, Binary.getResult(P(p)), setSize(consumeMO(),2)));
9988    }
9989    void code285(BURS_TreeNode p) {
9990        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, Unary.getResult(P(p)), setSize(consumeMO(),2)));
9991    }
9992    void code286(BURS_TreeNode p) {
9993        EMIT(MIR_Unary.mutate(P(p), IA32_MOVSX__W, Unary.getResult(P(p)), setSize(consumeMO(),2)));
9994    }
9995    void code287(BURS_TreeNode p) {
9996        EMIT(MIR_Unary.mutate(P(p), IA32_MOVZX__W, Binary.getResult(P(p)), setSize(consumeMO(),2)));
9997    }
9998    void code288(BURS_TreeNode p) {
9999        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), MO_L(P(p), DW)));
10000    }
10001    void code289(BURS_TreeNode p) {
10002        augmentAddress(Load.getAddress(P(p))); 
10003    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), 
10004                         consumeAddress(DW, Load.getLocation(P(p)), Load.getGuard(P(p)))));
10005    }
10006    void code290(BURS_TreeNode p) {
10007        augmentAddress(Load.getOffset(P(p))); 
10008    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), 
10009                         consumeAddress(DW, Load.getLocation(P(p)), Load.getGuard(P(p)))));
10010    }
10011    void code291(BURS_TreeNode p) {
10012        combineAddresses(); 
10013    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), 
10014                         consumeAddress(DW, Load.getLocation(P(p)), Load.getGuard(P(p)))));
10015    }
10016    void code292(BURS_TreeNode p) {
10017        combineAddresses(); 
10018    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), 
10019                         consumeAddress(DW, Load.getLocation(P(p)), Load.getGuard(P(p)))));
10020    }
10021    void code293(BURS_TreeNode p) {
10022        augmentAddress(Load.getOffset(P(p))); 
10023    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Load.getResult(P(p)), 
10024                         consumeAddress(DW, Load.getLocation(P(p)), Load.getGuard(P(p)))));
10025    }
10026    void code294(BURS_TreeNode p) {
10027        EMIT(MIR_Move.mutate(P(p), IA32_MOV, ALoad.getResult(P(p)), MO_AL(P(p), DW_S, DW)));
10028    }
10029    void code295(BURS_TreeNode p) {
10030        RegisterOperand hres = Load.getResult(P(p)); 
10031    RegisterOperand lres = new RegisterOperand(regpool.getSecondReg(hres.getRegister()), TypeReference.Int); 
10032    hres.setType(TypeReference.Int); 
10033    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, hres, MO_L(P(p), DW, DW).copy()))); 
10034    EMIT(MIR_Move.mutate(P(p), IA32_MOV, lres, MO_L(P(p), DW)));
10035    }
10036    void code296(BURS_TreeNode p) {
10037        RegisterOperand hres = ALoad.getResult(P(p)); 
10038    RegisterOperand lres = new RegisterOperand(regpool.getSecondReg(hres.getRegister()), TypeReference.Int); 
10039    hres.setType(TypeReference.Int); 
10040    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, hres, MO_AL(P(p), QW_S, DW, DW).copy()))); 
10041    EMIT(MIR_Move.mutate(P(p), IA32_MOV, lres, MO_AL(P(p), QW_S, DW)));
10042    }
10043    void code297(BURS_TreeNode p) {
10044        EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10045                         MO(Prepare.getAddress(P(p)), Prepare.getOffset(P(p)), DW, 
10046                            Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10047    }
10048    void code298(BURS_TreeNode p) {
10049        augmentAddress(Prepare.getAddress(P(p))); 
10050    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10051                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10052    }
10053    void code299(BURS_TreeNode p) {
10054        augmentAddress(Prepare.getOffset(P(p))); 
10055    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10056                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10057    }
10058    void code300(BURS_TreeNode p) {
10059        combineAddresses(); 
10060    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10061                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10062    }
10063    void code301(BURS_TreeNode p) {
10064        combineAddresses(); 
10065    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10066                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10067    }
10068    void code302(BURS_TreeNode p) {
10069        augmentAddress(Prepare.getOffset(P(p))); 
10070    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10071                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10072    }
10073    void code303(BURS_TreeNode p) {
10074        augmentAddress(Prepare.getAddress(P(p))); 
10075    EMIT(MIR_Move.mutate(P(p), IA32_MOV, Prepare.getResult(P(p)), 
10076                         consumeAddress(DW, Prepare.getLocation(P(p)), Prepare.getGuard(P(p)))));
10077    }
10078    void code304(BURS_TreeNode p) {
10079        RegisterOperand hres = Prepare.getResult(P(p)); 
10080    hres.setType(TypeReference.Int); 
10081    MemoryOperand hmo = MO(Prepare.getAddress(P(p)), Prepare.getOffset(P(p)), DW, 
10082                           Prepare.getLocation(P(p)), Prepare.getGuard(P(p)), DW); 
10083    RegisterOperand lres = new RegisterOperand(regpool.getSecondReg(hres.getRegister()), TypeReference.Int); 
10084    MemoryOperand lmo = MO(Prepare.getAddress(P(p)) != null ? Prepare.getAddress(P(p)).copy() : null, 
10085                           Prepare.getOffset(P(p)) != null ? Prepare.getOffset(P(p)).copy() : null, 
10086                           DW, 
10087                           Prepare.getLocation(P(p)) != null ? (LocationOperand)Prepare.getLocation(P(p)).copy() : null, 
10088                           Prepare.getGuard(P(p)) != null ? Prepare.getGuard(P(p)).copy() : null); 
10089    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, hres, hmo))); 
10090    EMIT(MIR_Move.mutate(P(p), IA32_MOV, lres, lmo));
10091    }
10092    void code305(BURS_TreeNode p) {
10093        ATTEMPT(Attempt.getResult(P(p)), 
10094                  MO(Attempt.getAddress(P(p)), Attempt.getOffset(P(p)), DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10095                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10096    }
10097    void code306(BURS_TreeNode p) {
10098        augmentAddress(Attempt.getAddress(P(p))); 
10099    ATTEMPT(Attempt.getResult(P(p)), 
10100                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10101                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10102    }
10103    void code307(BURS_TreeNode p) {
10104        augmentAddress(Attempt.getOffset(P(p))); 
10105    ATTEMPT(Attempt.getResult(P(p)), 
10106                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10107                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10108    }
10109    void code308(BURS_TreeNode p) {
10110        combineAddresses(); 
10111    ATTEMPT(Attempt.getResult(P(p)), 
10112                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10113                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10114    }
10115    void code309(BURS_TreeNode p) {
10116        combineAddresses(); 
10117    ATTEMPT(Attempt.getResult(P(p)), 
10118                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10119                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10120    }
10121    void code310(BURS_TreeNode p) {
10122        augmentAddress(Attempt.getOffset(P(p))); 
10123    ATTEMPT(Attempt.getResult(P(p)), 
10124                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10125                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10126    }
10127    void code311(BURS_TreeNode p) {
10128        augmentAddress(Attempt.getAddress(P(p))); 
10129    ATTEMPT(Attempt.getResult(P(p)), 
10130                  consumeAddress(DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10131                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10132    }
10133    void code312(BURS_TreeNode p) {
10134        ATTEMPT_IFCMP(MO(Attempt.getAddress(PL(p)), Attempt.getOffset(PL(p)), DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10135                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10136                        IfCmp.getCond(P(p)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10137    }
10138    void code313(BURS_TreeNode p) {
10139        augmentAddress(Attempt.getAddress(PL(p))); 
10140    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10141                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10142                        IfCmp.getCond(P(p)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10143    }
10144    void code314(BURS_TreeNode p) {
10145        augmentAddress(Attempt.getOffset(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)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10149    }
10150    void code315(BURS_TreeNode p) {
10151        combineAddresses(); 
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)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10155    }
10156    void code316(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)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10161    }
10162    void code317(BURS_TreeNode p) {
10163        augmentAddress(Attempt.getOffset(PL(p))); 
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)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10167    }
10168    void code318(BURS_TreeNode p) {
10169        augmentAddress(Attempt.getAddress(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)).flipCode(), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10173    }
10174    void code319(BURS_TreeNode p) {
10175        ATTEMPT_IFCMP(MO(Attempt.getAddress(PL(p)), Attempt.getOffset(PL(p)), DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10176                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10177                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10178    }
10179    void code320(BURS_TreeNode p) {
10180        augmentAddress(Attempt.getAddress(PL(p))); 
10181    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10182                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10183                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10184    }
10185    void code321(BURS_TreeNode p) {
10186        augmentAddress(Attempt.getOffset(PL(p))); 
10187    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10188                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10189                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10190    }
10191    void code322(BURS_TreeNode p) {
10192        combineAddresses(); 
10193    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10194                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10195                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10196    }
10197    void code323(BURS_TreeNode p) {
10198        combineAddresses(); 
10199    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10200                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10201                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10202    }
10203    void code324(BURS_TreeNode p) {
10204        augmentAddress(Attempt.getOffset(PL(p))); 
10205    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10206                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10207                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10208    }
10209    void code325(BURS_TreeNode p) {
10210        augmentAddress(Attempt.getAddress(PL(p))); 
10211    ATTEMPT_IFCMP(consumeAddress(DW, Attempt.getLocation(PL(p)), Attempt.getGuard(PL(p))), 
10212                        Attempt.getOldValue(PL(p)), Attempt.getNewValue(PL(p)), 
10213                        IfCmp.getCond(P(p)), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p)));
10214    }
10215    void code326(BURS_TreeNode p) {
10216        ATTEMPT_LONG(Attempt.getResult(P(p)), 
10217                  MO(Attempt.getAddress(P(p)), Attempt.getOffset(P(p)), DW, Attempt.getLocation(P(p)), Attempt.getGuard(P(p))), 
10218                  Attempt.getOldValue(P(p)), Attempt.getNewValue(P(p)));
10219    }
10220    void code327(BURS_TreeNode p) {
10221        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), B), Store.getValue(P(p))));
10222    }
10223    void code328(BURS_TreeNode p) {
10224        Register tmp = regpool.getInteger(); 
10225    EMIT(CPOS(PL(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), consumeMO()))); 
10226    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), B), new RegisterOperand(tmp, TypeReference.Int)));
10227    }
10228    void code329(BURS_TreeNode p) {
10229        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), B_S, B), AStore.getValue(P(p))));
10230    }
10231    void code330(BURS_TreeNode p) {
10232        Register tmp = regpool.getInteger(); 
10233    EMIT(CPOS(PL(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), consumeMO()))); 
10234    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), B_S, B), new RegisterOperand(tmp, TypeReference.Int)));
10235    }
10236    void code331(BURS_TreeNode p) {
10237        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), W), Store.getValue(P(p))));
10238    }
10239    void code332(BURS_TreeNode p) {
10240        Register tmp = regpool.getInteger(); 
10241    EMIT(CPOS(PL(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), consumeMO()))); 
10242    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), W), new RegisterOperand(tmp, TypeReference.Int)));
10243    }
10244    void code333(BURS_TreeNode p) {
10245        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), W_S, W), AStore.getValue(P(p))));
10246    }
10247    void code334(BURS_TreeNode p) {
10248        Register tmp = regpool.getInteger(); 
10249    EMIT(CPOS(PL(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), consumeMO()))); 
10250    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), W_S, W), new RegisterOperand(tmp, TypeReference.Int)));
10251    }
10252    void code335(BURS_TreeNode p) {
10253        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), DW), Store.getValue(P(p))));
10254    }
10255    void code336(BURS_TreeNode p) {
10256        augmentAddress(Store.getAddress(P(p))); 
10257    EMIT(MIR_Move.mutate(P(p), IA32_MOV, 
10258                         consumeAddress(DW, Store.getLocation(P(p)), Store.getGuard(P(p))), 
10259                         Store.getValue(P(p))));
10260    }
10261    void code337(BURS_TreeNode p) {
10262        augmentAddress(Store.getOffset(P(p))); 
10263    EMIT(MIR_Move.mutate(P(p), IA32_MOV, 
10264                         consumeAddress(DW, Store.getLocation(P(p)), Store.getGuard(P(p))), 
10265                         Store.getValue(P(p))));
10266    }
10267    void code338(BURS_TreeNode p) {
10268        combineAddresses(); 
10269    EMIT(MIR_Move.mutate(P(p), IA32_MOV,  
10270                        consumeAddress(DW, Store.getLocation(P(p)), Store.getGuard(P(p))), 
10271                        Store.getValue(P(p))));
10272    }
10273    void code339(BURS_TreeNode p) {
10274        combineAddresses(); 
10275    EMIT(MIR_Move.mutate(P(p), IA32_MOV,  
10276                        consumeAddress(DW, Store.getLocation(P(p)), Store.getGuard(P(p))), 
10277                        Store.getValue(P(p))));
10278    }
10279    void code340(BURS_TreeNode p) {
10280        augmentAddress(Store.getOffset(P(p))); 
10281    EMIT(MIR_Move.mutate(P(p), IA32_MOV,  
10282                         consumeAddress(DW, Store.getLocation(P(p)), Store.getGuard(P(p))), 
10283                         Store.getValue(P(p))));
10284    }
10285    void code341(BURS_TreeNode p) {
10286        EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), DW_S, DW), AStore.getValue(P(p))));
10287    }
10288    void code342(BURS_TreeNode p) {
10289        RegisterOperand hval = (RegisterOperand)Store.getValue(P(p)); 
10290    hval.setType(TypeReference.Int); 
10291    RegisterOperand lval = new RegisterOperand(regpool.getSecondReg(hval.getRegister()), TypeReference.Int); 
10292    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, MO_S(P(p), DW, DW).copy(), hval))); 
10293    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), DW), lval));
10294    }
10295    void code343(BURS_TreeNode p) {
10296        LongConstantOperand val = LC(Store.getValue(P(p))); 
10297    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, MO_S(P(p), DW, DW).copy(), IC(val.upper32())))); 
10298    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_S(P(p), DW), IC(val.lower32())));
10299    }
10300    void code344(BURS_TreeNode p) {
10301        RegisterOperand hval = (RegisterOperand)AStore.getValue(P(p)); 
10302    hval.setType(TypeReference.Int); 
10303    RegisterOperand lval = new RegisterOperand(regpool.getSecondReg(hval.getRegister()), TypeReference.Int); 
10304    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, MO_AS(P(p), QW_S, DW, DW).copy(), hval))); 
10305    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), QW_S, DW), lval));
10306    }
10307    void code345(BURS_TreeNode p) {
10308        LongConstantOperand val = LC(AStore.getValue(P(p))); 
10309    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, MO_AS(P(p), QW_S, DW, DW).copy(), IC(val.upper32())))); 
10310    EMIT(MIR_Move.mutate(P(p), IA32_MOV, MO_AS(P(p), QW_S, DW), IC(val.lower32())));
10311    }
10312    void code346(BURS_TreeNode p) {
10313        IFCMP(P(p), IfCmp.getGuardResult(P(p)), IfCmp.getVal1(P(p)), IfCmp.getVal2(P(p)), IfCmp.getCond(P(p)));
10314    }
10315    void code347(BURS_TreeNode p) {
10316        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10317    EMIT(CPOS(P(p), MIR_Test.create(IA32_TEST, IfCmp.getVal1(P(p)), IfCmp.getVal1(P(p)).copy()))); 
10318    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(IfCmp.getCond(P(p))), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10319    }
10320    void code348(BURS_TreeNode p) {
10321        IFCMP(P(p), IfCmp.getGuardResult(P(p)), consumeMO(), IfCmp.getVal2(P(p)), IfCmp.getCond(P(p)));
10322    }
10323    void code349(BURS_TreeNode p) {
10324        IFCMP(P(p), IfCmp.getGuardResult(P(p)), consumeMO(), IfCmp.getVal2(P(p)), IfCmp.getCond(P(p)));
10325    }
10326    void code350(BURS_TreeNode p) {
10327        IFCMP(P(p), IfCmp.getGuardResult(P(p)), IfCmp.getVal1(P(p)), consumeMO(), IfCmp.getCond(P(p)));
10328    }
10329    void code351(BURS_TreeNode p) {
10330        IFCMP(P(p), IfCmp.getGuardResult(P(p)), consumeMO(), IfCmp.getVal2(P(p)), IfCmp.getCond(P(p)));
10331    }
10332    void code352(BURS_TreeNode p) {
10333        IFCMP(P(p), IfCmp.getGuardResult(P(p)), consumeMO(), IfCmp.getVal2(P(p)), IfCmp.getCond(P(p)));
10334    }
10335    void code353(BURS_TreeNode p) {
10336        IFCMP(P(p), IfCmp.getGuardResult(P(p)), IfCmp.getVal1(P(p)), consumeMO(), IfCmp.getCond(P(p)));
10337    }
10338    void code354(BURS_TreeNode p) {
10339        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10340    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(consumeCOND()), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10341    }
10342    void code355(BURS_TreeNode p) {
10343        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10344    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(consumeCOND().flipCode()), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10345    }
10346    void code356(BURS_TreeNode p) {
10347        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10348    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(IfCmp.getCond(P(p))), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10349    }
10350    void code357(BURS_TreeNode p) {
10351        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10352    EMIT(MIR_CondBranch.mutate(P(p), IA32_JCC, COND(IfCmp.getCond(P(p))), IfCmp.getTarget(P(p)), IfCmp.getBranchProfile(P(p))));
10353    }
10354    void code358(BURS_TreeNode p) {
10355        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp.getGuardResult(P(p)), new TrueGuardOperand()))); 
10356    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))));
10357    }
10358    void code359(BURS_TreeNode p) {
10359        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp2.getGuardResult(P(p)), new TrueGuardOperand()))); 
10360    EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, IfCmp2.getVal1(P(p)), IfCmp2.getVal2(P(p))))); 
10361    EMIT(MIR_CondBranch2.mutate(P(p), IA32_JCC2,                                  
10362                                COND(IfCmp2.getCond1(P(p))), IfCmp2.getTarget1(P(p)),IfCmp2.getBranchProfile1(P(p)), 
10363                                COND(IfCmp2.getCond2(P(p))), IfCmp2.getTarget2(P(p)), IfCmp2.getBranchProfile2(P(p))));
10364    }
10365    void code360(BURS_TreeNode p) {
10366        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp2.getGuardResult(P(p)), new TrueGuardOperand()))); 
10367    EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), IfCmp2.getVal2(P(p))))); 
10368    EMIT(MIR_CondBranch2.mutate(P(p), IA32_JCC2,                                  
10369                                COND(IfCmp2.getCond1(P(p))), IfCmp2.getTarget1(P(p)),IfCmp2.getBranchProfile1(P(p)), 
10370                                COND(IfCmp2.getCond2(P(p))), IfCmp2.getTarget2(P(p)), IfCmp2.getBranchProfile2(P(p))));
10371    }
10372    void code361(BURS_TreeNode p) {
10373        EMIT(CPOS(P(p), Move.create(GUARD_MOVE, IfCmp2.getGuardResult(P(p)), new TrueGuardOperand()))); 
10374    EMIT(CPOS(P(p), MIR_Compare.create(IA32_CMP, consumeMO(), IfCmp2.getVal1(P(p))))); 
10375    EMIT(MIR_CondBranch2.mutate(P(p), IA32_JCC2,                                  
10376                                COND(IfCmp2.getCond1(P(p)).flipOperands()), IfCmp2.getTarget1(P(p)),IfCmp2.getBranchProfile1(P(p)), 
10377                                COND(IfCmp2.getCond2(P(p)).flipOperands()), IfCmp2.getTarget2(P(p)), IfCmp2.getBranchProfile2(P(p))));
10378    }
10379    void code362(BURS_TreeNode p) {
10380        EMIT(P(p)); //  Leave for ComplexLIR2MIRExpansion
10381    }
10382    void code363(BURS_TreeNode p) {
10383        LONG_CMP(P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10384    }
10385    void code364(BURS_TreeNode p) {
10386        EMIT(MIR_Branch.mutate(P(p), IA32_JMP, Goto.getTarget(P(p))));
10387    }
10388    void code365(BURS_TreeNode p) {
10389        EMIT(MIR_CacheOp.mutate(P(p), IA32_PREFETCHNTA, R(CacheOp.getRef(P(p)))));
10390    }
10391    void code366(BURS_TreeNode p) {
10392        EMIT(P(p)); // Pass through to maintain barrier semantics for code motion
10393    }
10394    void code367(BURS_TreeNode p) {
10395        EMIT(P(p)); // Pass through to maintain barrier semantics for code motion
10396    }
10397    void code368(BURS_TreeNode p) {
10398        EMIT(MIR_Empty.mutate(P(p), IA32_MFENCE));
10399    }
10400    void code369(BURS_TreeNode p) {
10401        EMIT(MIR_Empty.mutate(P(p), IA32_PAUSE));
10402    }
10403    void code370(BURS_TreeNode p) {
10404        EMIT(MIR_Return.mutate(P(p), IA32_RET, null, null, null));
10405    }
10406    void code371(BURS_TreeNode p) {
10407        EMIT(MIR_Return.mutate(P(p), IA32_RET, null, Return.getVal(P(p)), null));
10408    }
10409    void code372(BURS_TreeNode p) {
10410        RegisterOperand ret = R(Return.getVal(P(p)));            
10411    RegisterOperand ret2 = null;                                
10412    if (ret.getType().isLongType()) {                                 
10413      ret.setType(TypeReference.Int);                           
10414      ret2 = new RegisterOperand(regpool.getSecondReg(ret.getRegister()), TypeReference.Int); 
10415    }                                                            
10416    EMIT(MIR_Return.mutate(P(p), IA32_RET, null, ret, ret2));
10417    }
10418    void code373(BURS_TreeNode p) {
10419        LongConstantOperand val = LC(Return.getVal(P(p))); 
10420    EMIT(MIR_Return.mutate(P(p), IA32_RET, null, IC(val.upper32()), IC(val.lower32())));
10421    }
10422    void code374(BURS_TreeNode p) {
10423        CALL(P(p), Call.getAddress(P(p)));
10424    }
10425    void code375(BURS_TreeNode p) {
10426        CALL(P(p), Call.getAddress(P(p)));
10427    }
10428    void code376(BURS_TreeNode p) {
10429        CALL(P(p), MO_L(PL(p), DW));
10430    }
10431    void code377(BURS_TreeNode p) {
10432        RegisterOperand temp = regpool.makeTemp(TypeReference.Int); 
10433    EMIT(MIR_Move.create(IA32_MOV, temp, Call.getAddress(P(p)))); 
10434    CALL(P(p), temp.copyRO());
10435    }
10436    void code378(BURS_TreeNode p) {
10437        SYSCALL(P(p), Call.getAddress(P(p)));
10438    }
10439    void code379(BURS_TreeNode p) {
10440        SYSCALL(P(p), MO_L(PL(p), DW));
10441    }
10442    void code380(BURS_TreeNode p) {
10443        RegisterOperand temp = regpool.makeTemp(TypeReference.Int); 
10444    EMIT(MIR_Move.create(IA32_MOV, temp, Call.getAddress(P(p)))); 
10445    SYSCALL(P(p), temp.copyRO());
10446    }
10447    void code381(BURS_TreeNode p) {
10448        GET_TIME_BASE(P(p), Nullary.getResult(P(p)));
10449    }
10450    void code382(BURS_TreeNode p) {
10451        OSR(burs, P(p));
10452    }
10453    void code383(BURS_TreeNode p) {
10454        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal1(PL(p)).copy(), Binary.getVal1(PLR(p)).copy()));
10455    }
10456    void code384(BURS_TreeNode p) {
10457        Register tmp = regpool.getInteger(); 
10458    if (VM.VerifyAssertions) VM._assert((VLRR(p) & 0x7FFFFFFF) <= 31); 
10459    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), Binary.getVal1(PLR(p))))); 
10460    EMIT(CPOS(P(p), MIR_BinaryAcc.create(IA32_AND, new RegisterOperand(tmp, TypeReference.Int), IC(VLRR(p))))); 
10461    EMIT(MIR_Test.mutate(P(p), IA32_BT, consumeMO(), new RegisterOperand(tmp, TypeReference.Int)));
10462    }
10463    void code385(BURS_TreeNode p) {
10464        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal1(PL(p)).copy(), IC(VLR(p))));
10465    }
10466    void code386(BURS_TreeNode p) {
10467        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal1(PL(p)).copy(), Binary.getVal1(PLR(p)).copy()));
10468    }
10469    void code387(BURS_TreeNode p) {
10470        Register tmp = regpool.getInteger(); 
10471    if (VM.VerifyAssertions) VM._assert((VLRR(p) & 0x7FFFFFFF) <= 31); 
10472    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), Binary.getVal1(PLR(p))))); 
10473    EMIT(CPOS(P(p), MIR_BinaryAcc.create(IA32_AND, new RegisterOperand(tmp, TypeReference.Int), IC(VLRR(p))))); 
10474    EMIT(MIR_Test.mutate(P(p), IA32_BT, consumeMO(), new RegisterOperand(tmp, TypeReference.Int)));
10475    }
10476    void code388(BURS_TreeNode p) {
10477        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal1(PL(p)).copy(), IC(VLR(p))));
10478    }
10479    void code389(BURS_TreeNode p) {
10480        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal2(P(p)), Binary.getVal1(PLR(p)).copy()));
10481    }
10482    void code390(BURS_TreeNode p) {
10483        Register tmp = regpool.getInteger(); 
10484    if (VM.VerifyAssertions) VM._assert((VLRR(p) & 0x7FFFFFFF) <= 31); 
10485    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), Binary.getVal1(PLR(p))))); 
10486    EMIT(CPOS(P(p), MIR_BinaryAcc.create(IA32_AND, new RegisterOperand(tmp, TypeReference.Int), IC(VLRR(p))))); 
10487    EMIT(MIR_Test.mutate(P(p), IA32_BT, consumeMO(), new RegisterOperand(tmp, TypeReference.Int)));
10488    }
10489    void code391(BURS_TreeNode p) {
10490        EMIT(MIR_Test.mutate(P(p), IA32_BT, Binary.getVal1(P(p)), Binary.getVal1(PRR(p)).copy()));
10491    }
10492    void code392(BURS_TreeNode p) {
10493        Register tmp = regpool.getInteger(); 
10494    if (VM.VerifyAssertions) VM._assert((VRRR(p) & 0x7FFFFFFF) <= 31); 
10495    EMIT(CPOS(P(p), MIR_Move.create(IA32_MOV, new RegisterOperand(tmp, TypeReference.Int), Binary.getVal1(PRR(p))))); 
10496    EMIT(CPOS(P(p), MIR_BinaryAcc.create(IA32_AND, new RegisterOperand(tmp, TypeReference.Int), IC(VRRR(p))))); 
10497    EMIT(MIR_Test.mutate(P(p), IA32_BT, consumeMO(), new RegisterOperand(tmp, TypeReference.Int)));
10498    }
10499    void code393(BURS_TreeNode p) {
10500        SSE2_COP(IA32_ADDSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10501    }
10502    void code394(BURS_TreeNode p) {
10503        SSE2_COP(IA32_ADDSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10504    }
10505    void code395(BURS_TreeNode p) {
10506        SSE2_COP(IA32_ADDSS, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
10507    }
10508    void code396(BURS_TreeNode p) {
10509        SSE2_COP(IA32_ADDSD, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), Binary.getVal1(P(p)));
10510    }
10511    void code397(BURS_TreeNode p) {
10512        SSE2_COP(IA32_ADDSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10513    }
10514    void code398(BURS_TreeNode p) {
10515        SSE2_COP(IA32_ADDSD, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
10516    }
10517    void code399(BURS_TreeNode p) {
10518        SSE2_NCOP(IA32_SUBSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10519    }
10520    void code400(BURS_TreeNode p) {
10521        SSE2_NCOP(IA32_SUBSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10522    }
10523    void code401(BURS_TreeNode p) {
10524        SSE2_NCOP(IA32_SUBSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10525    }
10526    void code402(BURS_TreeNode p) {
10527        SSE2_NCOP(IA32_SUBSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10528    }
10529    void code403(BURS_TreeNode p) {
10530        SSE2_COP(IA32_MULSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10531    }
10532    void code404(BURS_TreeNode p) {
10533        SSE2_COP(IA32_MULSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10534    }
10535    void code405(BURS_TreeNode p) {
10536        SSE2_COP(IA32_MULSS, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
10537    }
10538    void code406(BURS_TreeNode p) {
10539        SSE2_COP(IA32_MULSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10540    }
10541    void code407(BURS_TreeNode p) {
10542        SSE2_COP(IA32_MULSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10543    }
10544    void code408(BURS_TreeNode p) {
10545        SSE2_COP(IA32_MULSD, P(p), Binary.getResult(P(p)), Binary.getVal2(P(p)), consumeMO());
10546    }
10547    void code409(BURS_TreeNode p) {
10548        SSE2_NCOP(IA32_DIVSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10549    }
10550    void code410(BURS_TreeNode p) {
10551        SSE2_NCOP(IA32_DIVSS, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10552    }
10553    void code411(BURS_TreeNode p) {
10554        SSE2_NCOP(IA32_DIVSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), Binary.getVal2(P(p)));
10555    }
10556    void code412(BURS_TreeNode p) {
10557        SSE2_NCOP(IA32_DIVSD, P(p), Binary.getResult(P(p)), Binary.getVal1(P(p)), consumeMO());
10558    }
10559    void code413(BURS_TreeNode p) {
10560        SSE2_NEG(true, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10561    }
10562    void code414(BURS_TreeNode p) {
10563        SSE2_NEG(false, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10564    }
10565    void code415(BURS_TreeNode p) {
10566        EMIT(MIR_Unary.mutate(P(p), IA32_SQRTSS, Unary.getResult(P(p)), Unary.getVal(P(p))));
10567    }
10568    void code416(BURS_TreeNode p) {
10569        EMIT(MIR_Unary.mutate(P(p), IA32_SQRTSD, Unary.getResult(P(p)), Unary.getVal(P(p))));
10570    }
10571    void code417(BURS_TreeNode p) {
10572        SSE2_X87_REM(P(p));
10573    }
10574    void code418(BURS_TreeNode p) {
10575        SSE2_X87_REM(P(p));
10576    }
10577    void code419(BURS_TreeNode p) {
10578        SSE2_X87_FROMLONG(P(p));
10579    }
10580    void code420(BURS_TreeNode p) {
10581        SSE2_X87_FROMLONG(P(p));
10582    }
10583    void code421(BURS_TreeNode p) {
10584        EMIT(MIR_Move.mutate(P(p), IA32_MOVSS, Move.getResult(P(p)), Move.getVal(P(p))));
10585    }
10586    void code422(BURS_TreeNode p) {
10587        EMIT(MIR_Move.mutate(P(p), IA32_MOVSD, Move.getResult(P(p)), Move.getVal(P(p))));
10588    }
10589    void code423(BURS_TreeNode p) {
10590        EMIT(MIR_Move.mutate(P(p), IA32_MOVLPD, Load.getResult(P(p)), MO_L(P(p), QW)));
10591    }
10592    void code424(BURS_TreeNode p) {
10593        pushMO(MO_L(P(p), QW));
10594    }
10595    void code425(BURS_TreeNode p) {
10596        EMIT(MIR_Move.mutate(P(p), IA32_MOVLPD, ALoad.getResult(P(p)), MO_AL(P(p), QW_S, QW)));
10597    }
10598    void code426(BURS_TreeNode p) {
10599        pushMO(MO_AL(P(p), QW_S, QW));
10600    }
10601    void code427(BURS_TreeNode p) {
10602        EMIT(MIR_Move.mutate(P(p), IA32_MOVSS, Load.getResult(P(p)), MO_L(P(p), DW)));
10603    }
10604    void code428(BURS_TreeNode p) {
10605        pushMO(MO_L(P(p), DW));
10606    }
10607    void code429(BURS_TreeNode p) {
10608        EMIT(MIR_Move.mutate(P(p), IA32_MOVSS, ALoad.getResult(P(p)), MO_AL(P(p), DW_S, DW)));
10609    }
10610    void code430(BURS_TreeNode p) {
10611        pushMO(MO_AL(P(p), DW_S, DW));
10612    }
10613    void code431(BURS_TreeNode p) {
10614        EMIT(MIR_Move.mutate(P(p), IA32_MOVLPD, MO_S(P(p), QW), Store.getValue(P(p))));
10615    }
10616    void code432(BURS_TreeNode p) {
10617        EMIT(MIR_Move.mutate(P(p), IA32_MOVLPD, MO_AS(P(p), QW_S, QW), AStore.getValue(P(p))));
10618    }
10619    void code433(BURS_TreeNode p) {
10620        EMIT(MIR_Move.mutate(P(p), IA32_MOVSS, MO_S(P(p), DW), Store.getValue(P(p))));
10621    }
10622    void code434(BURS_TreeNode p) {
10623        EMIT(MIR_Move.mutate(P(p), IA32_MOVSS, MO_AS(P(p), DW_S, DW), AStore.getValue(P(p))));
10624    }
10625    void code435(BURS_TreeNode p) {
10626        SSE2_CONV(IA32_CVTSI2SS, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10627    }
10628    void code436(BURS_TreeNode p) {
10629        SSE2_CONV(IA32_CVTSI2SS, P(p), Unary.getResult(P(p)), consumeMO());
10630    }
10631    void code437(BURS_TreeNode p) {
10632        SSE2_CONV(IA32_CVTSI2SD, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10633    }
10634    void code438(BURS_TreeNode p) {
10635        SSE2_CONV(IA32_CVTSI2SD, P(p), Unary.getResult(P(p)), consumeMO());
10636    }
10637    void code439(BURS_TreeNode p) {
10638        SSE2_CONV(IA32_CVTSS2SD, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10639    }
10640    void code440(BURS_TreeNode p) {
10641        SSE2_CONV(IA32_CVTSS2SD, P(p), Unary.getResult(P(p)), consumeMO());
10642    }
10643    void code441(BURS_TreeNode p) {
10644        SSE2_CONV(IA32_CVTSD2SS, P(p), Unary.getResult(P(p)), Unary.getVal(P(p)));
10645    }
10646    void code442(BURS_TreeNode p) {
10647        SSE2_CONV(IA32_CVTSD2SS, P(p), Unary.getResult(P(p)), consumeMO());
10648    }
10649    void code443(BURS_TreeNode p) {
10650        EMIT(P(p)); /* leave for complex operators */
10651    }
10652    void code444(BURS_TreeNode p) {
10653        EMIT(P(p)); /* leave for complex operators */
10654    }
10655    void code445(BURS_TreeNode p) {
10656        EMIT(P(p)); /* leave for complex operators */
10657    }
10658    void code446(BURS_TreeNode p) {
10659        EMIT(P(p)); /* leave for complex operators */
10660    }
10661    void code447(BURS_TreeNode p) {
10662        SSE2_FPR2GPR_32(P(p));
10663    }
10664    void code449(BURS_TreeNode p) {
10665        SSE2_FPR2GPR_64(P(p));
10666    }
10667    void code451(BURS_TreeNode p) {
10668        SSE2_GPR2FPR_32(P(p));
10669    }
10670    void code453(BURS_TreeNode p) {
10671        SSE2_GPR2FPR_64(P(p));
10672    }
10673    void code455(BURS_TreeNode p) {
10674        SSE2_FPCONSTANT(P(p));
10675    }
10676    void code456(BURS_TreeNode p) {
10677        pushMO(MO_MC(P(p)));
10678    }
10679    void code457(BURS_TreeNode p) {
10680        pushMO(MO_MC(P(p)));
10681    }
10682    void code458(BURS_TreeNode p) {
10683        EMIT(MIR_Empty.mutate(P(p), IA32_FNINIT));
10684    }
10685    void code459(BURS_TreeNode p) {
10686        SSE2_IFCMP(IA32_UCOMISS, P(p), IfCmp.getClearVal1(P(p)), IfCmp.getClearVal2(P(p)));
10687    }
10688    void code460(BURS_TreeNode p) {
10689        SSE2_IFCMP(IA32_UCOMISS, P(p), IfCmp.getClearVal1(P(p)), consumeMO());
10690    }
10691    void code461(BURS_TreeNode p) {
10692        IfCmp.getCond(P(p)).flipOperands(); SSE2_IFCMP(IA32_UCOMISS, P(p), IfCmp.getClearVal2(P(p)), consumeMO());
10693    }
10694    void code462(BURS_TreeNode p) {
10695        SSE2_IFCMP(IA32_UCOMISD, P(p), IfCmp.getClearVal1(P(p)), IfCmp.getClearVal2(P(p)));
10696    }
10697    void code463(BURS_TreeNode p) {
10698        SSE2_IFCMP(IA32_UCOMISD, P(p), IfCmp.getClearVal1(P(p)), consumeMO());
10699    }
10700    void code464(BURS_TreeNode p) {
10701        IfCmp.getCond(P(p)).flipOperands(); SSE2_IFCMP(IA32_UCOMISD, P(p), IfCmp.getClearVal2(P(p)), consumeMO());
10702    }
10703    void code465(BURS_TreeNode p) {
10704        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)));
10705    }
10706    void code466(BURS_TreeNode p) {
10707        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)));
10708    }
10709    void code467(BURS_TreeNode p) {
10710        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)));
10711    }
10712    void code468(BURS_TreeNode p) {
10713        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)));
10714    }
10715    void code469(BURS_TreeNode p) {
10716        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)));
10717    }
10718    void code470(BURS_TreeNode p) {
10719        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)));
10720    }
10721    void code471(BURS_TreeNode p) {
10722        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());
10723    }
10724    void code472(BURS_TreeNode p) {
10725        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());
10726    }
10727    void code473(BURS_TreeNode p) {
10728        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)));
10729    }
10730    void code474(BURS_TreeNode p) {
10731        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)));
10732    }
10733    void code475(BURS_TreeNode p) {
10734        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)));
10735    }
10736    void code476(BURS_TreeNode p) {
10737        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)));
10738    }
10739    void code477(BURS_TreeNode p) {
10740        SSE2_ABS(true, P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)));
10741    }
10742    void code478(BURS_TreeNode p) {
10743        SSE2_ABS(true, P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)));
10744    }
10745    void code479(BURS_TreeNode p) {
10746        SSE2_ABS(true, P(p), CondMove.getResult(P(p)), CondMove.getVal2(P(p)));
10747    }
10748    void code480(BURS_TreeNode p) {
10749        SSE2_ABS(true, P(p), CondMove.getResult(P(p)), CondMove.getVal2(P(p)));
10750    }
10751    void code481(BURS_TreeNode p) {
10752        SSE2_ABS(false, P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)));
10753    }
10754    void code482(BURS_TreeNode p) {
10755        SSE2_ABS(false, P(p), CondMove.getResult(P(p)), CondMove.getVal1(P(p)));
10756    }
10757    void code483(BURS_TreeNode p) {
10758        SSE2_ABS(false, P(p), CondMove.getResult(P(p)), CondMove.getVal2(P(p)));
10759    }
10760    void code484(BURS_TreeNode p) {
10761        SSE2_ABS(false, P(p), CondMove.getResult(P(p)), CondMove.getVal2(P(p)));
10762    }
10763    void code485(BURS_TreeNode p) {
10764        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()));
10765    }
10766    void code486(BURS_TreeNode p) {
10767        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()));
10768    }
10769    
10770    public void code(BURS_TreeNode p, int  n, int ruleno) {
10771      switch(ruleno) {
10772      case 16: code16(p); break;
10773      case 17: code17(p); break;
10774      case 18: code18(p); break;
10775      case 19: code19(p); break;
10776      case 22: code22(p); break;
10777      case 23: code23(p); break;
10778      case 24: code24(p); break;
10779      case 25: code25(p); break;
10780      case 28: code28(p); break;
10781      case 29: code29(p); break;
10782      case 34: code34(p); break;
10783      case 35: code35(p); break;
10784      case 38: code38(p); break;
10785      case 39: code39(p); break;
10786      case 40: code40(p); break;
10787      case 41: code41(p); break;
10788      case 42: code42(p); break;
10789      case 43: code43(p); break;
10790      case 44: code44(p); break;
10791      case 45: code45(p); break;
10792      case 46: code46(p); break;
10793      case 47: code47(p); break;
10794      case 48: code48(p); break;
10795      case 49: code49(p); break;
10796      case 50: code50(p); break;
10797      case 51: code51(p); break;
10798      case 52: code52(p); break;
10799      case 53: code53(p); break;
10800      case 54: code54(p); break;
10801      case 55: code55(p); break;
10802      case 56: code56(p); break;
10803      case 57: code57(p); break;
10804      case 58: code58(p); break;
10805      case 59: code59(p); break;
10806      case 60: code60(p); break;
10807      case 61: code61(p); break;
10808      case 62: code62(p); break;
10809      case 64: code64(p); break;
10810      case 65: code65(p); break;
10811      case 66: code66(p); break;
10812      case 67: code67(p); break;
10813      case 68: code68(p); break;
10814      case 69: code69(p); break;
10815      case 70: code70(p); break;
10816      case 71: code71(p); break;
10817      case 72: code72(p); break;
10818      case 73: code73(p); break;
10819      case 74: code74(p); break;
10820      case 75: code75(p); break;
10821      case 76: code76(p); break;
10822      case 77: code77(p); break;
10823      case 78: code78(p); break;
10824      case 79: code79(p); break;
10825      case 80: code80(p); break;
10826      case 81: code81(p); break;
10827      case 82: code82(p); break;
10828      case 83: code83(p); break;
10829      case 84: code84(p); break;
10830      case 85: code85(p); break;
10831      case 86: code86(p); break;
10832      case 87: code87(p); break;
10833      case 88: code88(p); break;
10834      case 89: code89(p); break;
10835      case 90: code90(p); break;
10836      case 91: code91(p); break;
10837      case 92: code92(p); break;
10838      case 93: code93(p); break;
10839      case 94: code94(p); break;
10840      case 96: code96(p); break;
10841      case 97: code97(p); break;
10842      case 98: code98(p); break;
10843      case 99: code99(p); break;
10844      case 100: code100(p); break;
10845      case 101: code101(p); break;
10846      case 102: code102(p); break;
10847      case 103: code103(p); break;
10848      case 104: code104(p); break;
10849      case 105: code105(p); break;
10850      case 106: code106(p); break;
10851      case 107: code107(p); break;
10852      case 108: code108(p); break;
10853      case 109: code109(p); break;
10854      case 110: code110(p); break;
10855      case 111: code111(p); break;
10856      case 112: code112(p); break;
10857      case 113: code113(p); break;
10858      case 114: code114(p); break;
10859      case 115: code115(p); break;
10860      case 116: code116(p); break;
10861      case 117: code117(p); break;
10862      case 118: code118(p); break;
10863      case 119: code119(p); break;
10864      case 120: code120(p); break;
10865      case 121: code121(p); break;
10866      case 122: code122(p); break;
10867      case 123: code123(p); break;
10868      case 124: code124(p); break;
10869      case 125: code125(p); break;
10870      case 126: code126(p); break;
10871      case 127: code127(p); break;
10872      case 128: code128(p); break;
10873      case 129: code129(p); break;
10874      case 130: code130(p); break;
10875      case 131: code131(p); break;
10876      case 132: code132(p); break;
10877      case 133: code133(p); break;
10878      case 134: code134(p); break;
10879      case 135: code135(p); break;
10880      case 136: code136(p); break;
10881      case 137: code137(p); break;
10882      case 138: code138(p); break;
10883      case 139: code139(p); break;
10884      case 140: code140(p); break;
10885      case 141: code141(p); break;
10886      case 142: code142(p); break;
10887      case 143: code143(p); break;
10888      case 144: code144(p); break;
10889      case 145: code145(p); break;
10890      case 146: code146(p); break;
10891      case 147: code147(p); break;
10892      case 148: code148(p); break;
10893      case 149: code149(p); break;
10894      case 150: code150(p); break;
10895      case 151: code151(p); break;
10896      case 152: code152(p); break;
10897      case 153: code153(p); break;
10898      case 154: code154(p); break;
10899      case 155: code155(p); break;
10900      case 156: code156(p); break;
10901      case 157: code157(p); break;
10902      case 158: code158(p); break;
10903      case 159: code159(p); break;
10904      case 160: code160(p); break;
10905      case 161: code161(p); break;
10906      case 162: code162(p); break;
10907      case 163: code163(p); break;
10908      case 164: code164(p); break;
10909      case 165: code165(p); break;
10910      case 166: code166(p); break;
10911      case 167: code167(p); break;
10912      case 168: code168(p); break;
10913      case 169: code169(p); break;
10914      case 170: code170(p); break;
10915      case 171: code171(p); break;
10916      case 172: code172(p); break;
10917      case 173: code173(p); break;
10918      case 174: code174(p); break;
10919      case 175: code175(p); break;
10920      case 176: code176(p); break;
10921      case 177: code177(p); break;
10922      case 178: code178(p); break;
10923      case 179: code179(p); break;
10924      case 180: code180(p); break;
10925      case 181: code181(p); break;
10926      case 182: code182(p); break;
10927      case 183: code183(p); break;
10928      case 184: code184(p); break;
10929      case 185: code185(p); break;
10930      case 186: code186(p); break;
10931      case 187: code187(p); break;
10932      case 188: code188(p); break;
10933      case 189: code189(p); break;
10934      case 190: code190(p); break;
10935      case 191: code191(p); break;
10936      case 192: code192(p); break;
10937      case 193: code193(p); break;
10938      case 194: code194(p); break;
10939      case 195: code195(p); break;
10940      case 196: code196(p); break;
10941      case 197: code197(p); break;
10942      case 198: code198(p); break;
10943      case 199: code199(p); break;
10944      case 200: code200(p); break;
10945      case 201: code201(p); break;
10946      case 202: code202(p); break;
10947      case 203: code203(p); break;
10948      case 204: code204(p); break;
10949      case 205: code205(p); break;
10950      case 206: code206(p); break;
10951      case 207: code207(p); break;
10952      case 208: code208(p); break;
10953      case 209: code209(p); break;
10954      case 210: code210(p); break;
10955      case 211: code211(p); break;
10956      case 212: code212(p); break;
10957      case 213: code213(p); break;
10958      case 214: code214(p); break;
10959      case 215: code215(p); break;
10960      case 216: code216(p); break;
10961      case 217: code217(p); break;
10962      case 218: code218(p); break;
10963      case 219: code219(p); break;
10964      case 220: code220(p); break;
10965      case 221: code221(p); break;
10966      case 222: code222(p); break;
10967      case 223: code223(p); break;
10968      case 224: code224(p); break;
10969      case 225: code225(p); break;
10970      case 226: code226(p); break;
10971      case 227: code227(p); break;
10972      case 228: code228(p); break;
10973      case 229: code229(p); break;
10974      case 230: code230(p); break;
10975      case 231: code231(p); break;
10976      case 232: code232(p); break;
10977      case 233: code233(p); break;
10978      case 234: code234(p); break;
10979      case 235: code235(p); break;
10980      case 236: code236(p); break;
10981      case 237: code237(p); break;
10982      case 238: code238(p); break;
10983      case 239: code239(p); break;
10984      case 240: code240(p); break;
10985      case 241: code241(p); break;
10986      case 242: code242(p); break;
10987      case 243: code243(p); break;
10988      case 244: code244(p); break;
10989      case 245: code245(p); break;
10990      case 246: code246(p); break;
10991      case 247: code247(p); break;
10992      case 248: code248(p); break;
10993      case 249: code249(p); break;
10994      case 250: code250(p); break;
10995      case 251: code251(p); break;
10996      case 252: code252(p); break;
10997      case 253: code253(p); break;
10998      case 254: code254(p); break;
10999      case 256: code256(p); break;
11000      case 269: code269(p); break;
11001      case 270: code270(p); break;
11002      case 271: code271(p); break;
11003      case 272: code272(p); break;
11004      case 273: code273(p); break;
11005      case 274: code274(p); break;
11006      case 275: code275(p); break;
11007      case 276: code276(p); break;
11008      case 277: code277(p); break;
11009      case 278: code278(p); break;
11010      case 279: code279(p); break;
11011      case 280: code280(p); break;
11012      case 281: code281(p); break;
11013      case 282: code282(p); break;
11014      case 283: code283(p); break;
11015      case 284: code284(p); break;
11016      case 285: code285(p); break;
11017      case 286: code286(p); break;
11018      case 287: code287(p); break;
11019      case 288: code288(p); break;
11020      case 289: code289(p); break;
11021      case 290: code290(p); break;
11022      case 291: code291(p); break;
11023      case 292: code292(p); break;
11024      case 293: code293(p); break;
11025      case 294: code294(p); break;
11026      case 295: code295(p); break;
11027      case 296: code296(p); break;
11028      case 297: code297(p); break;
11029      case 298: code298(p); break;
11030      case 299: code299(p); break;
11031      case 300: code300(p); break;
11032      case 301: code301(p); break;
11033      case 302: code302(p); break;
11034      case 303: code303(p); break;
11035      case 304: code304(p); break;
11036      case 305: code305(p); break;
11037      case 306: code306(p); break;
11038      case 307: code307(p); break;
11039      case 308: code308(p); break;
11040      case 309: code309(p); break;
11041      case 310: code310(p); break;
11042      case 311: code311(p); break;
11043      case 312: code312(p); break;
11044      case 313: code313(p); break;
11045      case 314: code314(p); break;
11046      case 315: code315(p); break;
11047      case 316: code316(p); break;
11048      case 317: code317(p); break;
11049      case 318: code318(p); break;
11050      case 319: code319(p); break;
11051      case 320: code320(p); break;
11052      case 321: code321(p); break;
11053      case 322: code322(p); break;
11054      case 323: code323(p); break;
11055      case 324: code324(p); break;
11056      case 325: code325(p); break;
11057      case 326: code326(p); break;
11058      case 327: code327(p); break;
11059      case 328: code328(p); break;
11060      case 329: code329(p); break;
11061      case 330: code330(p); break;
11062      case 331: code331(p); break;
11063      case 332: code332(p); break;
11064      case 333: code333(p); break;
11065      case 334: code334(p); break;
11066      case 335: code335(p); break;
11067      case 336: code336(p); break;
11068      case 337: code337(p); break;
11069      case 338: code338(p); break;
11070      case 339: code339(p); break;
11071      case 340: code340(p); break;
11072      case 341: code341(p); break;
11073      case 342: code342(p); break;
11074      case 343: code343(p); break;
11075      case 344: code344(p); break;
11076      case 345: code345(p); break;
11077      case 346: code346(p); break;
11078      case 347: code347(p); break;
11079      case 348: code348(p); break;
11080      case 349: code349(p); break;
11081      case 350: code350(p); break;
11082      case 351: code351(p); break;
11083      case 352: code352(p); break;
11084      case 353: code353(p); break;
11085      case 354: code354(p); break;
11086      case 355: code355(p); break;
11087      case 356: code356(p); break;
11088      case 357: code357(p); break;
11089      case 358: code358(p); break;
11090      case 359: code359(p); break;
11091      case 360: code360(p); break;
11092      case 361: code361(p); break;
11093      case 362: code362(p); break;
11094      case 363: code363(p); break;
11095      case 364: code364(p); break;
11096      case 365: code365(p); break;
11097      case 366: code366(p); break;
11098      case 367: code367(p); break;
11099      case 368: code368(p); break;
11100      case 369: code369(p); break;
11101      case 370: code370(p); break;
11102      case 371: code371(p); break;
11103      case 372: code372(p); break;
11104      case 373: code373(p); break;
11105      case 374: code374(p); break;
11106      case 375: code375(p); break;
11107      case 376: code376(p); break;
11108      case 377: code377(p); break;
11109      case 378: code378(p); break;
11110      case 379: code379(p); break;
11111      case 380: code380(p); break;
11112      case 381: code381(p); break;
11113      case 382: code382(p); break;
11114      case 383: code383(p); break;
11115      case 384: code384(p); break;
11116      case 385: code385(p); break;
11117      case 386: code386(p); break;
11118      case 387: code387(p); break;
11119      case 388: code388(p); break;
11120      case 389: code389(p); break;
11121      case 390: code390(p); break;
11122      case 391: code391(p); break;
11123      case 392: code392(p); break;
11124      case 393: code393(p); break;
11125      case 394: code394(p); break;
11126      case 395: code395(p); break;
11127      case 396: code396(p); break;
11128      case 397: code397(p); break;
11129      case 398: code398(p); break;
11130      case 399: code399(p); break;
11131      case 400: code400(p); break;
11132      case 401: code401(p); break;
11133      case 402: code402(p); break;
11134      case 403: code403(p); break;
11135      case 404: code404(p); break;
11136      case 405: code405(p); break;
11137      case 406: code406(p); break;
11138      case 407: code407(p); break;
11139      case 408: code408(p); break;
11140      case 409: code409(p); break;
11141      case 410: code410(p); break;
11142      case 411: code411(p); break;
11143      case 412: code412(p); break;
11144      case 413: code413(p); break;
11145      case 414: code414(p); break;
11146      case 415: code415(p); break;
11147      case 416: code416(p); break;
11148      case 417: code417(p); break;
11149      case 418: code418(p); break;
11150      case 419: code419(p); break;
11151      case 420: code420(p); break;
11152      case 421: code421(p); break;
11153      case 422: code422(p); break;
11154      case 423: code423(p); break;
11155      case 424: code424(p); break;
11156      case 425: code425(p); break;
11157      case 426: code426(p); break;
11158      case 427: code427(p); break;
11159      case 428: code428(p); break;
11160      case 429: code429(p); break;
11161      case 430: code430(p); break;
11162      case 431: code431(p); break;
11163      case 432: code432(p); break;
11164      case 433: code433(p); break;
11165      case 434: code434(p); break;
11166      case 435: code435(p); break;
11167      case 436: code436(p); break;
11168      case 437: code437(p); break;
11169      case 438: code438(p); break;
11170      case 439: code439(p); break;
11171      case 440: code440(p); break;
11172      case 441: code441(p); break;
11173      case 442: code442(p); break;
11174      case 443: code443(p); break;
11175      case 444: code444(p); break;
11176      case 445: code445(p); break;
11177      case 446: code446(p); break;
11178      case 447: code447(p); break;
11179      case 449: code449(p); break;
11180      case 451: code451(p); break;
11181      case 453: code453(p); break;
11182      case 455: code455(p); break;
11183      case 456: code456(p); break;
11184      case 457: code457(p); break;
11185      case 458: code458(p); break;
11186      case 459: code459(p); break;
11187      case 460: code460(p); break;
11188      case 461: code461(p); break;
11189      case 462: code462(p); break;
11190      case 463: code463(p); break;
11191      case 464: code464(p); break;
11192      case 465: code465(p); break;
11193      case 466: code466(p); break;
11194      case 467: code467(p); break;
11195      case 468: code468(p); break;
11196      case 469: code469(p); break;
11197      case 470: code470(p); break;
11198      case 471: code471(p); break;
11199      case 472: code472(p); break;
11200      case 473: code473(p); break;
11201      case 474: code474(p); break;
11202      case 475: code475(p); break;
11203      case 476: code476(p); break;
11204      case 477: code477(p); break;
11205      case 478: code478(p); break;
11206      case 479: code479(p); break;
11207      case 480: code480(p); break;
11208      case 481: code481(p); break;
11209      case 482: code482(p); break;
11210      case 483: code483(p); break;
11211      case 484: code484(p); break;
11212      case 485: code485(p); break;
11213      case 486: code486(p); break;
11214      default:
11215        throw new OptimizingCompilerException("BURS","rule without emit code:",BURS_Debug.string[ruleno]);
11216      }
11217    }
11218    }