LLVM API Documentation

SparcV9.burm.cpp

Go to the documentation of this file.
00001 
00002 #include <cstdio>
00003 #include "SparcV9InstrForest.h"
00004 
00005 typedef llvm::InstrTreeNode* NODEPTR_TYPE;
00006 #define OP_LABEL(p) ((p)->opLabel)
00007 #define LEFT_CHILD(p) ((p)->LeftChild)
00008 #define RIGHT_CHILD(p) ((p)->RightChild)
00009 #define STATE_LABEL(p) ((p)->state)
00010 #define PANIC printf
00011 #ifndef burm_PANIC
00012 #define burm_PANIC  PANIC
00013 #endif /* burm_PANIC */
00014 #ifdef __STDC__
00015 extern void abort(void);
00016 #else
00017 extern void abort();
00018 #endif
00019 #ifdef NDEBUG
00020 #define burm_assert(x,y)  ;
00021 #else
00022 #define burm_assert(x,y)  if(!(x)) {y; abort();}
00023 #endif
00024 static short burm_r1_nts[] ={ 0 };
00025 static short burm_r2_nts[] ={ 2, 0 };
00026 static short burm_r3_nts[] ={ 2, 2, 0 };
00027 static short burm_r4_nts[] ={ 2, 19, 0 };
00028 static short burm_r6_nts[] ={ 17, 0 };
00029 static short burm_r52_nts[] ={ 19, 0 };
00030 static short burm_r123_nts[] ={ 5, 0 };
00031 static short burm_r124_nts[] ={ 6, 0 };
00032 static short burm_r125_nts[] ={ 7, 0 };
00033 static short burm_r126_nts[] ={ 8, 0 };
00034 static short burm_r127_nts[] ={ 9, 0 };
00035 static short burm_r128_nts[] ={ 10, 0 };
00036 static short burm_r129_nts[] ={ 11, 0 };
00037 static short burm_r130_nts[] ={ 12, 0 };
00038 static short burm_r131_nts[] ={ 13, 0 };
00039 static short burm_r132_nts[] ={ 14, 0 };
00040 static short burm_r133_nts[] ={ 15, 0 };
00041 static short burm_r135_nts[] ={ 14, 14, 0 };
00042 static short burm_r138_nts[] ={ 2, 3, 0 };
00043 static short burm_r206_nts[] ={ 16, 0 };
00044 static short burm_r221_nts[] ={ 3, 0 };
00045 static short burm_r222_nts[] ={ 4, 0 };
00046 static short burm_r321_nts[] ={ 18, 0 };
00047 static short burm_r322_nts[] ={ 4, 2, 0 };
00048 static short burm_r335_nts[] ={ 14, 15, 0 };
00049 static short burm_r438_nts[] ={ 2, 18, 0 };
00050 short *burm_nts[] = {
00051   0,
00052   burm_r1_nts,
00053   burm_r2_nts,
00054   burm_r3_nts,
00055   burm_r4_nts,
00056   burm_r1_nts,
00057   burm_r6_nts,
00058   0,
00059   burm_r2_nts,
00060   burm_r2_nts,
00061   burm_r3_nts,
00062   0,
00063   0,
00064   0,
00065   0,
00066   0,
00067   0,
00068   0,
00069   0,
00070   burm_r2_nts,
00071   burm_r2_nts,
00072   burm_r3_nts,
00073   burm_r2_nts,
00074   burm_r2_nts,
00075   burm_r2_nts,
00076   burm_r2_nts,
00077   burm_r2_nts,
00078   burm_r2_nts,
00079   burm_r2_nts,
00080   burm_r2_nts,
00081   burm_r2_nts,
00082   burm_r2_nts,
00083   burm_r2_nts,
00084   burm_r3_nts,
00085   burm_r3_nts,
00086   burm_r3_nts,
00087   burm_r3_nts,
00088   burm_r3_nts,
00089   burm_r3_nts,
00090   burm_r3_nts,
00091   burm_r3_nts,
00092   burm_r2_nts,
00093   burm_r3_nts,
00094   0,
00095   0,
00096   0,
00097   0,
00098   0,
00099   0,
00100   0,
00101   0,
00102   burm_r2_nts,
00103   burm_r52_nts,
00104   0,
00105   0,
00106   burm_r2_nts,
00107   burm_r3_nts,
00108   burm_r1_nts,
00109   burm_r2_nts,
00110   0,
00111   0,
00112   burm_r1_nts,
00113   burm_r3_nts,
00114   burm_r3_nts,
00115   burm_r3_nts,
00116   0,
00117   burm_r2_nts,
00118   0,
00119   0,
00120   0,
00121   0,
00122   burm_r1_nts,
00123   burm_r1_nts,
00124   0,
00125   0,
00126   0,
00127   0,
00128   0,
00129   0,
00130   0,
00131   0,
00132   0,
00133   0,
00134   0,
00135   0,
00136   0,
00137   0,
00138   0,
00139   0,
00140   0,
00141   0,
00142   0,
00143   0,
00144   0,
00145   0,
00146   0,
00147   0,
00148   0,
00149   0,
00150   0,
00151   0,
00152   0,
00153   0,
00154   0,
00155   0,
00156   0,
00157   0,
00158   0,
00159   0,
00160   0,
00161   0,
00162   burm_r2_nts,
00163   0,
00164   0,
00165   0,
00166   0,
00167   0,
00168   0,
00169   0,
00170   0,
00171   0,
00172   0,
00173   0,
00174   burm_r123_nts,
00175   burm_r124_nts,
00176   burm_r125_nts,
00177   burm_r126_nts,
00178   burm_r127_nts,
00179   burm_r128_nts,
00180   burm_r129_nts,
00181   burm_r130_nts,
00182   burm_r131_nts,
00183   burm_r132_nts,
00184   burm_r133_nts,
00185   0,
00186   burm_r135_nts,
00187   0,
00188   0,
00189   burm_r138_nts,
00190   burm_r138_nts,
00191   burm_r138_nts,
00192   0,
00193   0,
00194   0,
00195   0,
00196   0,
00197   0,
00198   0,
00199   0,
00200   0,
00201   0,
00202   0,
00203   0,
00204   0,
00205   0,
00206   burm_r52_nts,
00207   0,
00208   0,
00209   0,
00210   0,
00211   0,
00212   0,
00213   0,
00214   0,
00215   0,
00216   0,
00217   0,
00218   0,
00219   0,
00220   0,
00221   0,
00222   0,
00223   0,
00224   0,
00225   0,
00226   0,
00227   0,
00228   0,
00229   0,
00230   0,
00231   0,
00232   0,
00233   0,
00234   0,
00235   0,
00236   0,
00237   0,
00238   0,
00239   0,
00240   0,
00241   0,
00242   0,
00243   0,
00244   0,
00245   0,
00246   0,
00247   0,
00248   0,
00249   0,
00250   0,
00251   0,
00252   0,
00253   0,
00254   0,
00255   0,
00256   0,
00257   burm_r206_nts,
00258   0,
00259   burm_r1_nts,
00260   0,
00261   0,
00262   0,
00263   0,
00264   0,
00265   0,
00266   0,
00267   0,
00268   0,
00269   0,
00270   0,
00271   0,
00272   burm_r221_nts,
00273   burm_r222_nts,
00274   0,
00275   0,
00276   0,
00277   0,
00278   0,
00279   0,
00280   0,
00281   0,
00282   0,
00283   burm_r1_nts,
00284   burm_r2_nts,
00285   burm_r2_nts,
00286   burm_r2_nts,
00287   burm_r2_nts,
00288   burm_r2_nts,
00289   burm_r2_nts,
00290   burm_r2_nts,
00291   burm_r2_nts,
00292   burm_r206_nts,
00293   burm_r6_nts,
00294   0,
00295   0,
00296   0,
00297   0,
00298   0,
00299   0,
00300   0,
00301   0,
00302   0,
00303   0,
00304   0,
00305   0,
00306   0,
00307   0,
00308   0,
00309   0,
00310   0,
00311   0,
00312   0,
00313   0,
00314   0,
00315   0,
00316   0,
00317   0,
00318   0,
00319   0,
00320   0,
00321   0,
00322   0,
00323   0,
00324   0,
00325   0,
00326   0,
00327   0,
00328   0,
00329   0,
00330   0,
00331   0,
00332   0,
00333   0,
00334   0,
00335   0,
00336   0,
00337   0,
00338   0,
00339   0,
00340   0,
00341   0,
00342   0,
00343   0,
00344   0,
00345   0,
00346   0,
00347   0,
00348   0,
00349   0,
00350   0,
00351   0,
00352   0,
00353   0,
00354   0,
00355   0,
00356   0,
00357   0,
00358   0,
00359   0,
00360   0,
00361   0,
00362   0,
00363   0,
00364   0,
00365   0,
00366   0,
00367   0,
00368   0,
00369   0,
00370   0,
00371   0,
00372   burm_r321_nts,
00373   burm_r322_nts,
00374   0,
00375   0,
00376   0,
00377   0,
00378   0,
00379   0,
00380   0,
00381   0,
00382   0,
00383   0,
00384   0,
00385   0,
00386   burm_r335_nts,
00387   0,
00388   0,
00389   burm_r3_nts,
00390   burm_r3_nts,
00391   burm_r3_nts,
00392   0,
00393   0,
00394   0,
00395   0,
00396   0,
00397   0,
00398   0,
00399   0,
00400   0,
00401   0,
00402   0,
00403   0,
00404   0,
00405   0,
00406   0,
00407   0,
00408   0,
00409   0,
00410   0,
00411   0,
00412   0,
00413   0,
00414   0,
00415   0,
00416   0,
00417   0,
00418   0,
00419   0,
00420   0,
00421   0,
00422   0,
00423   0,
00424   0,
00425   0,
00426   0,
00427   0,
00428   0,
00429   0,
00430   0,
00431   0,
00432   0,
00433   0,
00434   0,
00435   0,
00436   0,
00437   0,
00438   0,
00439   0,
00440   0,
00441   0,
00442   0,
00443   0,
00444   0,
00445   0,
00446   0,
00447   0,
00448   0,
00449   0,
00450   0,
00451   0,
00452   0,
00453   0,
00454   0,
00455   0,
00456   0,
00457   0,
00458   0,
00459   0,
00460   0,
00461   0,
00462   0,
00463   0,
00464   0,
00465   0,
00466   0,
00467   0,
00468   0,
00469   0,
00470   0,
00471   0,
00472   burm_r3_nts,
00473   0,
00474   0,
00475   0,
00476   0,
00477   0,
00478   0,
00479   0,
00480   0,
00481   0,
00482   0,
00483   0,
00484   0,
00485   0,
00486   0,
00487   0,
00488   0,
00489   burm_r438_nts,
00490   burm_r438_nts,
00491   burm_r438_nts,
00492   0,
00493   0,
00494   0,
00495   0,
00496   0,
00497   0,
00498   0,
00499   0,
00500   0,
00501   0,
00502   0,
00503   0,
00504   0,
00505   0,
00506   0,
00507   0,
00508   0,
00509   0,
00510   0,
00511   0,
00512   0,
00513   0,
00514   0,
00515   0,
00516   0,
00517   0,
00518   0,
00519   0,
00520   0,
00521   0,
00522   0,
00523   0,
00524   0,
00525   0,
00526   0,
00527   0,
00528   0,
00529   0,
00530   0,
00531   0,
00532   0,
00533   0,
00534   0,
00535   0,
00536   0,
00537   0,
00538   0,
00539   0,
00540   0,
00541   0,
00542   0,
00543   0,
00544   0,
00545   0,
00546   0,
00547   0,
00548   0,
00549   0,
00550   0,
00551   0,
00552   0,
00553   0,
00554   0,
00555   0,
00556   0,
00557   0,
00558   0,
00559   0,
00560   0,
00561   0,
00562   0,
00563   0,
00564   0,
00565   0,
00566   0,
00567   0,
00568   0,
00569   0,
00570   0,
00571   0,
00572   0,
00573   0,
00574   0,
00575   0,
00576   0,
00577   0,
00578   0,
00579   0,
00580   0,
00581   0,
00582   0,
00583   0,
00584   0,
00585   0,
00586   0,
00587   0,
00588   0,
00589   burm_r2_nts,
00590   burm_r2_nts,
00591   burm_r2_nts,
00592 };
00593 static unsigned char burm_Add_transition[2][3] = {
00594 {    0,    0,    0} /* row 0 */,
00595 {    0,    1,    2} /* row 1 */
00596 };
00597 static unsigned char burm_Sub_transition[2][3] = {
00598 {    0,    0,    0} /* row 0 */,
00599 {    0,    1,    2} /* row 1 */
00600 };
00601 static unsigned char burm_Mul_transition[4][5] = {
00602 {    0,    0,    0,    0,    0} /* row 0 */,
00603 {    0,    1,    2,    1,    1} /* row 1 */,
00604 {    0,    1,    2,    3,    4} /* row 2 */,
00605 {    0,    1,    2,    3,    4} /* row 3 */
00606 };
00607 static unsigned char burm_Div_transition[2][3] = {
00608 {    0,    0,    0} /* row 0 */,
00609 {    0,    1,    2} /* row 1 */
00610 };
00611 static unsigned char burm_Rem_transition[2][3] = {
00612 {    0,    0,    0} /* row 0 */,
00613 {    0,    1,    2} /* row 1 */
00614 };
00615 static unsigned char burm_And_transition[2][4] = {
00616 {    0,    0,    0,    0} /* row 0 */,
00617 {    0,    1,    2,    3} /* row 1 */
00618 };
00619 static unsigned char burm_Or_transition[2][4] = {
00620 {    0,    0,    0,    0} /* row 0 */,
00621 {    0,    1,    2,    3} /* row 1 */
00622 };
00623 static unsigned char burm_Xor_transition[2][4] = {
00624 {    0,    0,    0,    0} /* row 0 */,
00625 {    0,    1,    2,    3} /* row 1 */
00626 };
00627 static unsigned char burm_BAnd_transition[2][4] = {
00628 {    0,    0,    0,    0} /* row 0 */,
00629 {    0,    1,    2,    3} /* row 1 */
00630 };
00631 static unsigned char burm_BOr_transition[2][4] = {
00632 {    0,    0,    0,    0} /* row 0 */,
00633 {    0,    1,    2,    3} /* row 1 */
00634 };
00635 static unsigned char burm_BXor_transition[2][4] = {
00636 {    0,    0,    0,    0} /* row 0 */,
00637 {    0,    1,    2,    3} /* row 1 */
00638 };
00639 static unsigned char burm_BNot_transition[2][2] = {
00640 {    0,    0} /* row 0 */,
00641 {    0,    1} /* row 1 */
00642 };
00643 static unsigned char burm_Not_transition[3][2] = {
00644 {    0,    0} /* row 0 */,
00645 {    0,    1} /* row 1 */,
00646 {    0,    1} /* row 2 */
00647 };
00648 static unsigned char burm_SetCC_transition[2][3] = {
00649 {    0,    0,    0} /* row 0 */,
00650 {    0,    1,    2} /* row 1 */
00651 };
00652 static unsigned char burm_Store_transition[2][3] = {
00653 {    0,    0,    0} /* row 0 */,
00654 {    0,    1,    1} /* row 1 */
00655 };
00656 static unsigned char burm_GetElemPtrIdx_transition[2][2] = {
00657 {    0,    0} /* row 0 */,
00658 {    0,    1} /* row 1 */
00659 };
00660 static unsigned char burm_Phi_transition[2][2] = {
00661 {    0,    0} /* row 0 */,
00662 {    0,    1} /* row 1 */
00663 };
00664 static unsigned char burm_Shl_transition[2][2] = {
00665 {    0,    0} /* row 0 */,
00666 {    0,    1} /* row 1 */
00667 };
00668 static unsigned char burm_Shr_transition[2][2] = {
00669 {    0,    0} /* row 0 */,
00670 {    0,    1} /* row 1 */
00671 };
00672 static unsigned char burm_VRegList_transition[2][2] = {
00673 {    0,    0} /* row 0 */,
00674 {    0,    1} /* row 1 */
00675 };
00676 static struct {
00677   unsigned int f15:2;
00678   unsigned int f16:2;
00679   unsigned int f17:2;
00680   unsigned int f18:2;
00681   unsigned int f19:2;
00682   unsigned int f20:2;
00683   unsigned int f21:2;
00684   unsigned int f22:2;
00685   unsigned int f23:2;
00686   unsigned int f24:2;
00687   unsigned int f25:2;
00688   unsigned int f26:6;
00689   unsigned int f27:4;
00690 } burm_plank_0[] = {
00691   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,},  /* row 0 */
00692   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  34,   1,},  /* row 1 */
00693   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  21,   1,},  /* row 2 */
00694   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   9,   1,},  /* row 3 */
00695   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   8,   1,},  /* row 4 */
00696   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  60,   1,},  /* row 5 */
00697   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  58,   1,},  /* row 6 */
00698   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  59,   1,},  /* row 7 */
00699   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  28,   1,},  /* row 8 */
00700   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  15,   1,},  /* row 9 */
00701   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  27,   1,},  /* row 10 */
00702   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  22,   1,},  /* row 11 */
00703   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  26,   1,},  /* row 12 */
00704   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  14,   1,},  /* row 13 */
00705   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  25,   1,},  /* row 14 */
00706   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  24,   1,},  /* row 15 */
00707   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  13,   1,},  /* row 16 */
00708   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  23,   1,},  /* row 17 */
00709   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   4,},  /* row 18 */
00710   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   3,},  /* row 19 */
00711   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   6,},  /* row 20 */
00712   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,},  /* row 21 */
00713   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,},  /* row 22 */
00714   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   1,},  /* row 23 */
00715   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   1,},  /* row 24 */
00716   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  30,   1,},  /* row 25 */
00717   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  17,   1,},  /* row 26 */
00718   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  10,   1,},  /* row 27 */
00719   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  10,   1,},  /* row 28 */
00720   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  12,   1,},  /* row 29 */
00721   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  11,   1,},  /* row 30 */
00722   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  32,   1,},  /* row 31 */
00723   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  19,   1,},  /* row 32 */
00724   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  31,   1,},  /* row 33 */
00725   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  18,   1,},  /* row 34 */
00726   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,  51,   1,},  /* row 35 */
00727   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  57,   1,},  /* row 36 */
00728   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  55,   1,},  /* row 37 */
00729   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  56,   1,},  /* row 38 */
00730   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   4,   1,},  /* row 39 */
00731   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  29,   1,},  /* row 40 */
00732   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  16,   1,},  /* row 41 */
00733   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  11,},  /* row 42 */
00734   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  10,},  /* row 43 */
00735   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  48,   1,},  /* row 44 */
00736   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  49,   1,},  /* row 45 */
00737   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   6,   1,},  /* row 46 */
00738   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   1,},  /* row 47 */
00739   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   9,},  /* row 48 */
00740   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  33,   1,},  /* row 49 */
00741   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  20,   1,},  /* row 50 */
00742   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,},  /* row 51 */
00743   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  36,   1,},  /* row 52 */
00744   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,  50,   1,},  /* row 53 */
00745   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  38,   1,},  /* row 54 */
00746   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  37,   1,},  /* row 55 */
00747   {   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  39,   1,},  /* row 56 */
00748   {   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,  42,   1,},  /* row 57 */
00749   {   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,  40,   1,},  /* row 58 */
00750   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  35,   1,},  /* row 59 */
00751   {   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,  46,   1,},  /* row 60 */
00752   {   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,  44,   1,},  /* row 61 */
00753   {   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,  47,   1,},  /* row 62 */
00754   {   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,  43,   1,},  /* row 63 */
00755   {   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  41,   1,},  /* row 64 */
00756   {   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,  45,   1,},  /* row 65 */
00757   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   3,   1,},  /* row 66 */
00758   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   1,},  /* row 67 */
00759   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  61,   1,},  /* row 68 */
00760   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  54,   1,},  /* row 69 */
00761   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  52,   1,},  /* row 70 */
00762   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  53,   1,},  /* row 71 */
00763 };
00764 static struct {
00765   unsigned int f0:2;
00766   unsigned int f2:2;
00767   unsigned int f3:3;
00768   unsigned int f4:3;
00769   unsigned int f5:3;
00770   unsigned int f6:3;
00771   unsigned int f7:2;
00772   unsigned int f8:2;
00773   unsigned int f9:2;
00774   unsigned int f10:2;
00775   unsigned int f11:2;
00776   unsigned int f12:2;
00777   unsigned int f13:2;
00778   unsigned int f14:2;
00779 } burm_plank_1[] = {
00780   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 0 */
00781   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 1 */
00782   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 2 */
00783   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 3 */
00784   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 4 */
00785   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 5 */
00786   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 6 */
00787   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 7 */
00788   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 8 */
00789   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 9 */
00790   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 10 */
00791   {   1,   1,   1,   1,   1,   3,   1,   1,   0,   1,   0,   0,   0,   0,}, /* row 11 */
00792   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 12 */
00793   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 13 */
00794   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 14 */
00795   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 15 */
00796   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 16 */
00797   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 17 */
00798   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 18 */
00799   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 19 */
00800   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 20 */
00801   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 21 */
00802   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 22 */
00803   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 23 */
00804   {   1,   2,   1,   2,   2,   2,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 24 */
00805   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 25 */
00806   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 26 */
00807   {   1,   1,   1,   1,   1,   1,   1,   2,   2,   0,   0,   0,   0,   0,}, /* row 27 */
00808   {   1,   1,   1,   1,   1,   1,   1,   2,   1,   0,   0,   0,   0,   0,}, /* row 28 */
00809   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 29 */
00810   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 30 */
00811   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 31 */
00812   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 32 */
00813   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 33 */
00814   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 34 */
00815   {   1,   1,   1,   1,   3,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 35 */
00816   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 36 */
00817   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 37 */
00818   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 38 */
00819   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 39 */
00820   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 40 */
00821   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 41 */
00822   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 42 */
00823   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 43 */
00824   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   1,   0,   0,   0,}, /* row 44 */
00825   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   1,   1,   0,   0,}, /* row 45 */
00826   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 46 */
00827   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 47 */
00828   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 48 */
00829   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 49 */
00830   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 50 */
00831   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 51 */
00832   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 52 */
00833   {   1,   1,   1,   1,   1,   1,   2,   1,   0,   0,   0,   0,   0,   0,}, /* row 53 */
00834   {   1,   1,   2,   3,   1,   1,   1,   1,   0,   0,   0,   0,   0,   1,}, /* row 54 */
00835   {   1,   1,   3,   4,   1,   1,   1,   1,   0,   0,   0,   0,   1,   1,}, /* row 55 */
00836   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 56 */
00837   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 57 */
00838   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 58 */
00839   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 59 */
00840   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 60 */
00841   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 61 */
00842   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 62 */
00843   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 63 */
00844   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 64 */
00845   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 65 */
00846   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 66 */
00847   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 67 */
00848   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 68 */
00849   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 69 */
00850   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 70 */
00851   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 71 */
00852 };
00853 static struct {
00854   unsigned int f1:3;
00855 } burm_plank_2[] = {
00856   {   0,},  /* row 0 */
00857   {   1,},  /* row 1 */
00858   {   1,},  /* row 2 */
00859   {   1,},  /* row 3 */
00860   {   1,},  /* row 4 */
00861   {   1,},  /* row 5 */
00862   {   1,},  /* row 6 */
00863   {   1,},  /* row 7 */
00864   {   1,},  /* row 8 */
00865   {   1,},  /* row 9 */
00866   {   1,},  /* row 10 */
00867   {   1,},  /* row 11 */
00868   {   1,},  /* row 12 */
00869   {   1,},  /* row 13 */
00870   {   1,},  /* row 14 */
00871   {   1,},  /* row 15 */
00872   {   1,},  /* row 16 */
00873   {   1,},  /* row 17 */
00874   {   0,},  /* row 18 */
00875   {   0,},  /* row 19 */
00876   {   0,},  /* row 20 */
00877   {   0,},  /* row 21 */
00878   {   0,},  /* row 22 */
00879   {   1,},  /* row 23 */
00880   {   2,},  /* row 24 */
00881   {   1,},  /* row 25 */
00882   {   1,},  /* row 26 */
00883   {   1,},  /* row 27 */
00884   {   1,},  /* row 28 */
00885   {   1,},  /* row 29 */
00886   {   1,},  /* row 30 */
00887   {   1,},  /* row 31 */
00888   {   1,},  /* row 32 */
00889   {   1,},  /* row 33 */
00890   {   1,},  /* row 34 */
00891   {   1,},  /* row 35 */
00892   {   1,},  /* row 36 */
00893   {   1,},  /* row 37 */
00894   {   1,},  /* row 38 */
00895   {   1,},  /* row 39 */
00896   {   1,},  /* row 40 */
00897   {   1,},  /* row 41 */
00898   {   0,},  /* row 42 */
00899   {   0,},  /* row 43 */
00900   {   3,},  /* row 44 */
00901   {   4,},  /* row 45 */
00902   {   1,},  /* row 46 */
00903   {   1,},  /* row 47 */
00904   {   0,},  /* row 48 */
00905   {   1,},  /* row 49 */
00906   {   1,},  /* row 50 */
00907   {   0,},  /* row 51 */
00908   {   1,},  /* row 52 */
00909   {   1,},  /* row 53 */
00910   {   1,},  /* row 54 */
00911   {   1,},  /* row 55 */
00912   {   1,},  /* row 56 */
00913   {   1,},  /* row 57 */
00914   {   1,},  /* row 58 */
00915   {   1,},  /* row 59 */
00916   {   1,},  /* row 60 */
00917   {   1,},  /* row 61 */
00918   {   1,},  /* row 62 */
00919   {   1,},  /* row 63 */
00920   {   1,},  /* row 64 */
00921   {   1,},  /* row 65 */
00922   {   1,},  /* row 66 */
00923   {   1,},  /* row 67 */
00924   {   1,},  /* row 68 */
00925   {   1,},  /* row 69 */
00926   {   1,},  /* row 70 */
00927   {   1,},  /* row 71 */
00928 };
00929 static short burm_eruleMap[] = {
00930     0,  421,    0,  322,   21,    0,   56,   55,    0,   72,  /* 0-9 */
00931    71,   66,   64,   63,   62,   61,   58,   57,  155,   52,  /* 10-19 */
00932    51,  540,  539,  538,  237,  236,  335,  235,  234,  233,  /* 20-29 */
00933   321,  440,  340,  439,  339,  438,  338,   37,   36,  135,  /* 30-39 */
00934    35,   34,   33,   20,   19,  133,  132,  131,  130,  129,  /* 40-49 */
00935   128,  127,  126,  125,  124,  123,  242,  241,  222,  221,  /* 50-59 */
00936   240,  140,   40,  239,  139,   39,  238,  138,   38,   10,  /* 60-69 */
00937     0,   42,    0,   41,    0,  111,    9,  208,    8,  206,  /* 70-79 */
00938     6,    5,    4,    3,    2,    1,    0,   22,    0,   32,  /* 80-89 */
00939     0,  232,    0,   31,    0,   28,    0,   30,    0,   24,  /* 90-99 */
00940     0,   26,    0,   23,    0,   27,    0,   29,    0,   25
00941 };
00942 #define burm_stmt_rule(state) burm_eruleMap[burm_plank_0[state].f27 +74]
00943 #define burm_reg_rule(state)  burm_eruleMap[burm_plank_0[state].f26 +8]
00944 #define burm_not_rule(state)  burm_eruleMap[burm_plank_0[state].f25 +2]
00945 #define burm_tobool_rule(state) burm_eruleMap[burm_plank_0[state].f24 +86]
00946 #define burm_toubyte_rule(state)  burm_eruleMap[burm_plank_0[state].f23 +102]
00947 #define burm_tosbyte_rule(state)  burm_eruleMap[burm_plank_0[state].f22 +98]
00948 #define burm_toushort_rule(state) burm_eruleMap[burm_plank_0[state].f21 +108]
00949 #define burm_toshort_rule(state)  burm_eruleMap[burm_plank_0[state].f20 +100]
00950 #define burm_touint_rule(state) burm_eruleMap[burm_plank_0[state].f19 +104]
00951 #define burm_toint_rule(state)  burm_eruleMap[burm_plank_0[state].f18 +94]
00952 #define burm_toulong_rule(state)  burm_eruleMap[burm_plank_0[state].f17 +106]
00953 #define burm_tolong_rule(state) burm_eruleMap[burm_plank_0[state].f16 +96]
00954 #define burm_tofloat_rule(state)  burm_eruleMap[burm_plank_0[state].f15 +92]
00955 #define burm_todouble_rule(state) burm_eruleMap[burm_plank_1[state].f14 +88]
00956 #define burm_todoubleConst_rule(state)  burm_eruleMap[burm_plank_1[state].f13 +90]
00957 #define burm_setCCconst_rule(state) burm_eruleMap[burm_plank_1[state].f12 +72]
00958 #define burm_setCC_rule(state)  burm_eruleMap[burm_plank_1[state].f11 +70]
00959 #define burm_bnot_rule(state) burm_eruleMap[burm_plank_1[state].f10 +0]
00960 #define burm_ptrreg_rule(state) burm_eruleMap[burm_plank_1[state].f9 +5]
00961 
00962 #ifdef __STDC__
00963 int burm_rule(int state, int goalnt) {
00964 #else
00965 int burm_rule(state, goalnt) int state; int goalnt; {
00966 #endif
00967   burm_assert(state >= 0 && state < 72, burm_PANIC("Bad state %d passed to burm_rule\n", state));
00968   switch(goalnt) {
00969   case 1:
00970     return burm_stmt_rule(state);
00971   case 2:
00972     return burm_reg_rule(state);
00973   case 3:
00974     return burm_not_rule(state);
00975   case 4:
00976     return burm_tobool_rule(state);
00977   case 5:
00978     return burm_toubyte_rule(state);
00979   case 6:
00980     return burm_tosbyte_rule(state);
00981   case 7:
00982     return burm_toushort_rule(state);
00983   case 8:
00984     return burm_toshort_rule(state);
00985   case 9:
00986     return burm_touint_rule(state);
00987   case 10:
00988     return burm_toint_rule(state);
00989   case 11:
00990     return burm_toulong_rule(state);
00991   case 12:
00992     return burm_tolong_rule(state);
00993   case 13:
00994     return burm_tofloat_rule(state);
00995   case 14:
00996     return burm_todouble_rule(state);
00997   case 15:
00998     return burm_todoubleConst_rule(state);
00999   case 16:
01000     return burm_setCCconst_rule(state);
01001   case 17:
01002     return burm_setCC_rule(state);
01003   case 18:
01004     return burm_bnot_rule(state);
01005   case 19:
01006     return burm_ptrreg_rule(state);
01007   default:
01008     burm_PANIC("Unknown nonterminal %d in burm_rule;\n", goalnt);
01009     abort();
01010     return 0;
01011   }
01012 }
01013 
01014 int burm_TEMP;
01015 #define burm_Ret_state  42
01016 #define burm_RetValue_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 42 : 0 )
01017 #define burm_BrUncond_state 22
01018 #define burm_BrCond_state(l)  ( (burm_TEMP = burm_plank_2[l].f1) ? burm_TEMP + 17 : 0 )
01019 #define burm_Switch_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 50 : 0 )
01020 #define burm_Add_state(l,r) ( (burm_TEMP = burm_Add_transition[burm_plank_1[l].f0][burm_plank_1[r].f2]) ? burm_TEMP + 0 : 0 )
01021 #define burm_Sub_state(l,r) ( (burm_TEMP = burm_Sub_transition[burm_plank_1[l].f0][burm_plank_1[r].f2]) ? burm_TEMP + 48 : 0 )
01022 #define burm_Mul_state(l,r) ( (burm_TEMP = burm_Mul_transition[burm_plank_1[l].f3][burm_plank_1[r].f4]) ? burm_TEMP + 30 : 0 )
01023 #define burm_Div_state(l,r) ( (burm_TEMP = burm_Div_transition[burm_plank_1[l].f0][burm_plank_1[r].f2]) ? burm_TEMP + 24 : 0 )
01024 #define burm_Rem_state(l,r) ( (burm_TEMP = burm_Rem_transition[burm_plank_1[l].f0][burm_plank_1[r].f2]) ? burm_TEMP + 39 : 0 )
01025 #define burm_And_state(l,r) ( (burm_TEMP = burm_And_transition[burm_plank_1[l].f0][burm_plank_1[r].f5]) ? burm_TEMP + 4 : 0 )
01026 #define burm_Or_state(l,r)  ( (burm_TEMP = burm_Or_transition[burm_plank_1[l].f0][burm_plank_1[r].f5]) ? burm_TEMP + 35 : 0 )
01027 #define burm_Xor_state(l,r) ( (burm_TEMP = burm_Xor_transition[burm_plank_1[l].f0][burm_plank_1[r].f5]) ? burm_TEMP + 68 : 0 )
01028 #define burm_BAnd_state(l,r)  ( (burm_TEMP = burm_BAnd_transition[burm_plank_1[l].f0][burm_plank_1[r].f6]) ? burm_TEMP + 7 : 0 )
01029 #define burm_BOr_state(l,r) ( (burm_TEMP = burm_BOr_transition[burm_plank_1[l].f0][burm_plank_1[r].f6]) ? burm_TEMP + 11 : 0 )
01030 #define burm_BXor_state(l,r)  ( (burm_TEMP = burm_BXor_transition[burm_plank_1[l].f0][burm_plank_1[r].f6]) ? burm_TEMP + 14 : 0 )
01031 #define burm_BNot_state(l,r)  ( (burm_TEMP = burm_BNot_transition[burm_plank_1[l].f0][burm_plank_1[r].f0]) ? burm_TEMP + 10 : 0 )
01032 #define burm_Not_state(l,r) ( (burm_TEMP = burm_Not_transition[burm_plank_1[l].f7][burm_plank_1[r].f0]) ? burm_TEMP + 34 : 0 )
01033 #define burm_SetCC_state(l,r) ( (burm_TEMP = burm_SetCC_transition[burm_plank_1[l].f0][burm_plank_1[r].f2]) ? burm_TEMP + 43 : 0 )
01034 #define burm_Malloc_state 0
01035 #define burm_Free_state 0
01036 #define burm_Alloca_state 3
01037 #define burm_AllocaN_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 3 : 0 )
01038 #define burm_Load_state(l)  ( (burm_TEMP = burm_plank_1[l].f8) ? burm_TEMP + 28 : 0 )
01039 #define burm_Store_state(l,r) ( (burm_TEMP = burm_Store_transition[burm_plank_1[l].f0][burm_plank_1[r].f8]) ? burm_TEMP + 47 : 0 )
01040 #define burm_GetElemPtr_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 26 : 0 )
01041 #define burm_GetElemPtrIdx_state(l,r) ( (burm_TEMP = burm_GetElemPtrIdx_transition[burm_plank_1[l].f0][burm_plank_1[r].f0]) ? burm_TEMP + 27 : 0 )
01042 #define burm_Phi_state(l,r) ( (burm_TEMP = burm_Phi_transition[burm_plank_1[l].f0][burm_plank_1[r].f0]) ? burm_TEMP + 38 : 0 )
01043 #define burm_Cast_state 0
01044 #define burm_ToBoolTy_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 52 : 0 )
01045 #define burm_ToUByteTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 61 : 0 )
01046 #define burm_ToSByteTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 59 : 0 )
01047 #define burm_ToUShortTy_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 64 : 0 )
01048 #define burm_ToShortTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 60 : 0 )
01049 #define burm_ToUIntTy_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 62 : 0 )
01050 #define burm_ToIntTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 56 : 0 )
01051 #define burm_ToULongTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 63 : 0 )
01052 #define burm_ToLongTy_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 57 : 0 )
01053 #define burm_ToFloatTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 55 : 0 )
01054 #define burm_ToDoubleTy_state(l)  ( (burm_TEMP = burm_plank_1[l].f2) ? burm_TEMP + 53 : 0 )
01055 #define burm_ToArrayTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 51 : 0 )
01056 #define burm_ToPointerTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 58 : 0 )
01057 #define burm_Call_state 23
01058 #define burm_Shl_state(l,r) ( (burm_TEMP = burm_Shl_transition[burm_plank_1[l].f0][burm_plank_1[r].f0]) ? burm_TEMP + 45 : 0 )
01059 #define burm_Shr_state(l,r) ( (burm_TEMP = burm_Shr_transition[burm_plank_1[l].f0][burm_plank_1[r].f0]) ? burm_TEMP + 46 : 0 )
01060 #define burm_VAArg_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 65 : 0 )
01061 #define burm_VRegList_state(l,r)  ( (burm_TEMP = burm_VRegList_transition[burm_plank_1[l].f0][burm_plank_1[r].f0]) ? burm_TEMP + 67 : 0 )
01062 #define burm_VReg_state 67
01063 #define burm_Constant_state 24
01064 #define burm_Label_state  0
01065 
01066 #ifdef __STDC__
01067 int burm_state(int op, int l, int r) {
01068 #else
01069 int burm_state(op, l, r) int op; int l; int r; {
01070 #endif
01071   register int burm_TEMP;
01072 #ifndef NDEBUG
01073   switch (op) {
01074   case 7:
01075   case 8:
01076   case 9:
01077   case 10:
01078   case 11:
01079   case 12:
01080   case 13:
01081   case 14:
01082   case 112:
01083   case 113:
01084   case 114:
01085   case 214:
01086   case 314:
01087   case 115:
01088   case 25:
01089   case 126:
01090   case 27:
01091   case 30:
01092   case 31:
01093   case 97:
01094     burm_assert(r >= 0 && r < 72, burm_PANIC("Bad state %d passed to burm_state\n", r));
01095     /*FALLTHROUGH*/
01096   case 101:
01097   case 102:
01098   case 3:
01099   case 123:
01100   case 24:
01101   case 26:
01102   case 128:
01103   case 129:
01104   case 130:
01105   case 131:
01106   case 132:
01107   case 133:
01108   case 134:
01109   case 135:
01110   case 136:
01111   case 137:
01112   case 138:
01113   case 139:
01114   case 140:
01115   case 37:
01116     burm_assert(l >= 0 && l < 72, burm_PANIC("Bad state %d passed to burm_state\n", l));
01117     /*FALLTHROUGH*/
01118   case 1:
01119   case 2:
01120   case 23:
01121   case 29:
01122   case 98:
01123   case 99:
01124     break;
01125   }
01126 #endif
01127   switch (op) {
01128   default: burm_PANIC("Unknown op %d in burm_state\n", op); abort(); return 0;
01129   case 1:
01130     return burm_Ret_state;
01131   case 101:
01132     return burm_RetValue_state(l);
01133   case 2:
01134     return burm_BrUncond_state;
01135   case 102:
01136     return burm_BrCond_state(l);
01137   case 3:
01138     return burm_Switch_state(l);
01139   case 7:
01140     return burm_Add_state(l,r);
01141   case 8:
01142     return burm_Sub_state(l,r);
01143   case 9:
01144     return burm_Mul_state(l,r);
01145   case 10:
01146     return burm_Div_state(l,r);
01147   case 11:
01148     return burm_Rem_state(l,r);
01149   case 12:
01150     return burm_And_state(l,r);
01151   case 13:
01152     return burm_Or_state(l,r);
01153   case 14:
01154     return burm_Xor_state(l,r);
01155   case 112:
01156     return burm_BAnd_state(l,r);
01157   case 113:
01158     return burm_BOr_state(l,r);
01159   case 114:
01160     return burm_BXor_state(l,r);
01161   case 214:
01162     return burm_BNot_state(l,r);
01163   case 314:
01164     return burm_Not_state(l,r);
01165   case 115:
01166     return burm_SetCC_state(l,r);
01167   case 21:
01168     return 0;
01169   case 22:
01170     return 0;
01171   case 23:
01172     return burm_Alloca_state;
01173   case 123:
01174     return burm_AllocaN_state(l);
01175   case 24:
01176     return burm_Load_state(l);
01177   case 25:
01178     return burm_Store_state(l,r);
01179   case 26:
01180     return burm_GetElemPtr_state(l);
01181   case 126:
01182     return burm_GetElemPtrIdx_state(l,r);
01183   case 27:
01184     return burm_Phi_state(l,r);
01185   case 28:
01186     return 0;
01187   case 128:
01188     return burm_ToBoolTy_state(l);
01189   case 129:
01190     return burm_ToUByteTy_state(l);
01191   case 130:
01192     return burm_ToSByteTy_state(l);
01193   case 131:
01194     return burm_ToUShortTy_state(l);
01195   case 132:
01196     return burm_ToShortTy_state(l);
01197   case 133:
01198     return burm_ToUIntTy_state(l);
01199   case 134:
01200     return burm_ToIntTy_state(l);
01201   case 135:
01202     return burm_ToULongTy_state(l);
01203   case 136:
01204     return burm_ToLongTy_state(l);
01205   case 137:
01206     return burm_ToFloatTy_state(l);
01207   case 138:
01208     return burm_ToDoubleTy_state(l);
01209   case 139:
01210     return burm_ToArrayTy_state(l);
01211   case 140:
01212     return burm_ToPointerTy_state(l);
01213   case 29:
01214     return burm_Call_state;
01215   case 30:
01216     return burm_Shl_state(l,r);
01217   case 31:
01218     return burm_Shr_state(l,r);
01219   case 37:
01220     return burm_VAArg_state(l);
01221   case 97:
01222     return burm_VRegList_state(l,r);
01223   case 98:
01224     return burm_VReg_state;
01225   case 99:
01226     return burm_Constant_state;
01227   case 100:
01228     return 0;
01229   }
01230 }
01231 #ifdef burm_STATE_LABEL
01232 #define burm_INCLUDE_EXTRA
01233 #else
01234 #ifdef STATE_LABEL
01235 #define burm_INCLUDE_EXTRA
01236 #define burm_STATE_LABEL  STATE_LABEL
01237 #define burm_NODEPTR_TYPE NODEPTR_TYPE
01238 #define burm_LEFT_CHILD   LEFT_CHILD
01239 #define burm_OP_LABEL     OP_LABEL
01240 #define burm_RIGHT_CHILD  RIGHT_CHILD
01241 #endif /* STATE_LABEL */
01242 #endif /* burm_STATE_LABEL */
01243 
01244 #ifdef burm_INCLUDE_EXTRA
01245 
01246 #ifdef __STDC__
01247 int burm_label(burm_NODEPTR_TYPE n) {
01248 #else
01249 int burm_label(n) burm_NODEPTR_TYPE n; {
01250 #endif
01251   burm_assert(n, burm_PANIC("NULL pointer passed to burm_label\n"));
01252   switch (burm_OP_LABEL(n)) {
01253   default: burm_PANIC("Bad op %d in burm_label\n", burm_OP_LABEL(n)); abort(); return 0;
01254   case 1:
01255   case 2:
01256   case 23:
01257   case 29:
01258   case 98:
01259   case 99:
01260     return burm_STATE_LABEL(n) = burm_state(burm_OP_LABEL(n), 0, 0);
01261   case 101:
01262   case 102:
01263   case 3:
01264   case 123:
01265   case 24:
01266   case 26:
01267   case 128:
01268   case 129:
01269   case 130:
01270   case 131:
01271   case 132:
01272   case 133:
01273   case 134:
01274   case 135:
01275   case 136:
01276   case 137:
01277   case 138:
01278   case 139:
01279   case 140:
01280   case 37:
01281     return burm_STATE_LABEL(n) = burm_state(burm_OP_LABEL(n), burm_label(burm_LEFT_CHILD(n)), 0);
01282   case 7:
01283   case 8:
01284   case 9:
01285   case 10:
01286   case 11:
01287   case 12:
01288   case 13:
01289   case 14:
01290   case 112:
01291   case 113:
01292   case 114:
01293   case 214:
01294   case 314:
01295   case 115:
01296   case 25:
01297   case 126:
01298   case 27:
01299   case 30:
01300   case 31:
01301   case 97:
01302     return burm_STATE_LABEL(n) = burm_state(burm_OP_LABEL(n), burm_label(burm_LEFT_CHILD(n)), burm_label(burm_RIGHT_CHILD(n)));
01303   }
01304 }
01305 #ifdef __STDC__
01306 burm_NODEPTR_TYPE * burm_kids(burm_NODEPTR_TYPE p, int rulenumber, burm_NODEPTR_TYPE *kids) {
01307 #else
01308 burm_NODEPTR_TYPE * burm_kids(p, rulenumber, kids) burm_NODEPTR_TYPE p; int rulenumber; burm_NODEPTR_TYPE *kids; {
01309 #endif
01310   burm_assert(p, burm_PANIC("NULL node pointer passed to burm_kids\n"));
01311   burm_assert(kids, burm_PANIC("NULL kids pointer passed to burm_kids\n"));
01312   switch (rulenumber) {
01313   default:
01314     burm_PANIC("Unknown Rule %d in burm_kids;\n", rulenumber);
01315     abort();
01316     /* NOTREACHED */
01317   case 111:
01318   case 221:
01319   case 222:
01320   case 241:
01321   case 242:
01322   case 123:
01323   case 124:
01324   case 125:
01325   case 126:
01326   case 127:
01327   case 128:
01328   case 129:
01329   case 130:
01330   case 131:
01331   case 132:
01332   case 133:
01333   case 321:
01334   case 155:
01335     kids[0] = p;
01336     break;
01337   case 3:
01338   case 4:
01339   case 10:
01340   case 21:
01341   case 322:
01342   case 38:
01343   case 138:
01344   case 39:
01345   case 139:
01346   case 40:
01347   case 140:
01348   case 42:
01349   case 33:
01350   case 34:
01351   case 35:
01352   case 135:
01353   case 36:
01354   case 37:
01355   case 338:
01356   case 438:
01357   case 339:
01358   case 439:
01359   case 340:
01360   case 440:
01361   case 421:
01362   case 335:
01363   case 56:
01364   case 62:
01365   case 63:
01366   case 64:
01367     kids[0] = burm_LEFT_CHILD(p);
01368     kids[1] = burm_RIGHT_CHILD(p);
01369     break;
01370   case 2:
01371   case 6:
01372   case 206:
01373   case 8:
01374   case 9:
01375   case 22:
01376   case 23:
01377   case 24:
01378   case 25:
01379   case 26:
01380   case 27:
01381   case 28:
01382   case 29:
01383   case 30:
01384   case 31:
01385   case 32:
01386   case 238:
01387   case 239:
01388   case 240:
01389   case 41:
01390   case 19:
01391   case 20:
01392   case 233:
01393   case 234:
01394   case 235:
01395   case 236:
01396   case 237:
01397   case 538:
01398   case 539:
01399   case 540:
01400   case 51:
01401   case 52:
01402   case 55:
01403   case 58:
01404   case 66:
01405     kids[0] = burm_LEFT_CHILD(p);
01406     break;
01407   case 1:
01408   case 5:
01409   case 208:
01410   case 232:
01411   case 57:
01412   case 61:
01413   case 71:
01414   case 72:
01415     break;
01416   }
01417   return kids;
01418 }
01419 #ifdef __STDC__
01420 burm_NODEPTR_TYPE burm_child(burm_NODEPTR_TYPE p, int index) {
01421 #else
01422 burm_NODEPTR_TYPE burm_child(p, index) burm_NODEPTR_TYPE p; int index; {
01423 #endif
01424   burm_assert(p, burm_PANIC("NULL pointer passed to burm_child\n"));
01425   switch (index) {
01426   case 0:
01427     return burm_LEFT_CHILD(p);
01428   case 1:
01429     return burm_RIGHT_CHILD(p);
01430   }
01431   burm_PANIC("Bad index %d in burm_child;\n", index);
01432   abort();
01433   return 0;
01434 }
01435 #ifdef __STDC__
01436 int burm_op_label(burm_NODEPTR_TYPE p) {
01437 #else
01438 int burm_op_label(p) burm_NODEPTR_TYPE p; {
01439 #endif
01440   burm_assert(p, burm_PANIC("NULL pointer passed to burm_op_label\n"));
01441   return burm_OP_LABEL(p);
01442 }
01443 #ifdef __STDC__
01444 int burm_state_label(burm_NODEPTR_TYPE p) {
01445 #else
01446 int burm_state_label(p) burm_NODEPTR_TYPE p; {
01447 #endif
01448   burm_assert(p, burm_PANIC("NULL pointer passed to burm_state_label\n"));
01449   return burm_STATE_LABEL(p);
01450 }
01451 #endif /* burm_INCLUDE_EXTRA */
01452 #define burm_ptrreg_NT 19
01453 #define burm_bnot_NT 18
01454 #define burm_setCC_NT 17
01455 #define burm_setCCconst_NT 16
01456 #define burm_todoubleConst_NT 15
01457 #define burm_todouble_NT 14
01458 #define burm_tofloat_NT 13
01459 #define burm_tolong_NT 12
01460 #define burm_toulong_NT 11
01461 #define burm_toint_NT 10
01462 #define burm_touint_NT 9
01463 #define burm_toshort_NT 8
01464 #define burm_toushort_NT 7
01465 #define burm_tosbyte_NT 6
01466 #define burm_toubyte_NT 5
01467 #define burm_tobool_NT 4
01468 #define burm_not_NT 3
01469 #define burm_reg_NT 2
01470 #define burm_stmt_NT 1
01471 #define burm_NT 19
01472 const char * burm_opname[] = {
01473   0, /* 0 */
01474   "Ret", /* 1 */
01475   "BrUncond", /* 2 */
01476   "Switch", /* 3 */
01477   0, /* 4 */
01478   0, /* 5 */
01479   0, /* 6 */
01480   "Add", /* 7 */
01481   "Sub", /* 8 */
01482   "Mul", /* 9 */
01483   "Div", /* 10 */
01484   "Rem", /* 11 */
01485   "And", /* 12 */
01486   "Or", /* 13 */
01487   "Xor", /* 14 */
01488   0, /* 15 */
01489   0, /* 16 */
01490   0, /* 17 */
01491   0, /* 18 */
01492   0, /* 19 */
01493   0, /* 20 */
01494   "Malloc", /* 21 */
01495   "Free", /* 22 */
01496   "Alloca", /* 23 */
01497   "Load", /* 24 */
01498   "Store", /* 25 */
01499   "GetElemPtr", /* 26 */
01500   "Phi", /* 27 */
01501   "Cast", /* 28 */
01502   "Call", /* 29 */
01503   "Shl", /* 30 */
01504   "Shr", /* 31 */
01505   0, /* 32 */
01506   0, /* 33 */
01507   0, /* 34 */
01508   0, /* 35 */
01509   0, /* 36 */
01510   "VAArg", /* 37 */
01511   0, /* 38 */
01512   0, /* 39 */
01513   0, /* 40 */
01514   0, /* 41 */
01515   0, /* 42 */
01516   0, /* 43 */
01517   0, /* 44 */
01518   0, /* 45 */
01519   0, /* 46 */
01520   0, /* 47 */
01521   0, /* 48 */
01522   0, /* 49 */
01523   0, /* 50 */
01524   0, /* 51 */
01525   0, /* 52 */
01526   0, /* 53 */
01527   0, /* 54 */
01528   0, /* 55 */
01529   0, /* 56 */
01530   0, /* 57 */
01531   0, /* 58 */
01532   0, /* 59 */
01533   0, /* 60 */
01534   0, /* 61 */
01535   0, /* 62 */
01536   0, /* 63 */
01537   0, /* 64 */
01538   0, /* 65 */
01539   0, /* 66 */
01540   0, /* 67 */
01541   0, /* 68 */
01542   0, /* 69 */
01543   0, /* 70 */
01544   0, /* 71 */
01545   0, /* 72 */
01546   0, /* 73 */
01547   0, /* 74 */
01548   0, /* 75 */
01549   0, /* 76 */
01550   0, /* 77 */
01551   0, /* 78 */
01552   0, /* 79 */
01553   0, /* 80 */
01554   0, /* 81 */
01555   0, /* 82 */
01556   0, /* 83 */
01557   0, /* 84 */
01558   0, /* 85 */
01559   0, /* 86 */
01560   0, /* 87 */
01561   0, /* 88 */
01562   0, /* 89 */
01563   0, /* 90 */
01564   0, /* 91 */
01565   0, /* 92 */
01566   0, /* 93 */
01567   0, /* 94 */
01568   0, /* 95 */
01569   0, /* 96 */
01570   "VRegList", /* 97 */
01571   "VReg", /* 98 */
01572   "Constant", /* 99 */
01573   "Label", /* 100 */
01574   "RetValue", /* 101 */
01575   "BrCond", /* 102 */
01576   0, /* 103 */
01577   0, /* 104 */
01578   0, /* 105 */
01579   0, /* 106 */
01580   0, /* 107 */
01581   0, /* 108 */
01582   0, /* 109 */
01583   0, /* 110 */
01584   0, /* 111 */
01585   "BAnd", /* 112 */
01586   "BOr", /* 113 */
01587   "BXor", /* 114 */
01588   "SetCC", /* 115 */
01589   0, /* 116 */
01590   0, /* 117 */
01591   0, /* 118 */
01592   0, /* 119 */
01593   0, /* 120 */
01594   0, /* 121 */
01595   0, /* 122 */
01596   "AllocaN", /* 123 */
01597   0, /* 124 */
01598   0, /* 125 */
01599   "GetElemPtrIdx", /* 126 */
01600   0, /* 127 */
01601   "ToBoolTy", /* 128 */
01602   "ToUByteTy", /* 129 */
01603   "ToSByteTy", /* 130 */
01604   "ToUShortTy", /* 131 */
01605   "ToShortTy", /* 132 */
01606   "ToUIntTy", /* 133 */
01607   "ToIntTy", /* 134 */
01608   "ToULongTy", /* 135 */
01609   "ToLongTy", /* 136 */
01610   "ToFloatTy", /* 137 */
01611   "ToDoubleTy", /* 138 */
01612   "ToArrayTy", /* 139 */
01613   "ToPointerTy", /* 140 */
01614   0, /* 141 */
01615   0, /* 142 */
01616   0, /* 143 */
01617   0, /* 144 */
01618   0, /* 145 */
01619   0, /* 146 */
01620   0, /* 147 */
01621   0, /* 148 */
01622   0, /* 149 */
01623   0, /* 150 */
01624   0, /* 151 */
01625   0, /* 152 */
01626   0, /* 153 */
01627   0, /* 154 */
01628   0, /* 155 */
01629   0, /* 156 */
01630   0, /* 157 */
01631   0, /* 158 */
01632   0, /* 159 */
01633   0, /* 160 */
01634   0, /* 161 */
01635   0, /* 162 */
01636   0, /* 163 */
01637   0, /* 164 */
01638   0, /* 165 */
01639   0, /* 166 */
01640   0, /* 167 */
01641   0, /* 168 */
01642   0, /* 169 */
01643   0, /* 170 */
01644   0, /* 171 */
01645   0, /* 172 */
01646   0, /* 173 */
01647   0, /* 174 */
01648   0, /* 175 */
01649   0, /* 176 */
01650   0, /* 177 */
01651   0, /* 178 */
01652   0, /* 179 */
01653   0, /* 180 */
01654   0, /* 181 */
01655   0, /* 182 */
01656   0, /* 183 */
01657   0, /* 184 */
01658   0, /* 185 */
01659   0, /* 186 */
01660   0, /* 187 */
01661   0, /* 188 */
01662   0, /* 189 */
01663   0, /* 190 */
01664   0, /* 191 */
01665   0, /* 192 */
01666   0, /* 193 */
01667   0, /* 194 */
01668   0, /* 195 */
01669   0, /* 196 */
01670   0, /* 197 */
01671   0, /* 198 */
01672   0, /* 199 */
01673   0, /* 200 */
01674   0, /* 201 */
01675   0, /* 202 */
01676   0, /* 203 */
01677   0, /* 204 */
01678   0, /* 205 */
01679   0, /* 206 */
01680   0, /* 207 */
01681   0, /* 208 */
01682   0, /* 209 */
01683   0, /* 210 */
01684   0, /* 211 */
01685   0, /* 212 */
01686   0, /* 213 */
01687   "BNot", /* 214 */
01688   0, /* 215 */
01689   0, /* 216 */
01690   0, /* 217 */
01691   0, /* 218 */
01692   0, /* 219 */
01693   0, /* 220 */
01694   0, /* 221 */
01695   0, /* 222 */
01696   0, /* 223 */
01697   0, /* 224 */
01698   0, /* 225 */
01699   0, /* 226 */
01700   0, /* 227 */
01701   0, /* 228 */
01702   0, /* 229 */
01703   0, /* 230 */
01704   0, /* 231 */
01705   0, /* 232 */
01706   0, /* 233 */
01707   0, /* 234 */
01708   0, /* 235 */
01709   0, /* 236 */
01710   0, /* 237 */
01711   0, /* 238 */
01712   0, /* 239 */
01713   0, /* 240 */
01714   0, /* 241 */
01715   0, /* 242 */
01716   0, /* 243 */
01717   0, /* 244 */
01718   0, /* 245 */
01719   0, /* 246 */
01720   0, /* 247 */
01721   0, /* 248 */
01722   0, /* 249 */
01723   0, /* 250 */
01724   0, /* 251 */
01725   0, /* 252 */
01726   0, /* 253 */
01727   0, /* 254 */
01728   0, /* 255 */
01729   0, /* 256 */
01730   0, /* 257 */
01731   0, /* 258 */
01732   0, /* 259 */
01733   0, /* 260 */
01734   0, /* 261 */
01735   0, /* 262 */
01736   0, /* 263 */
01737   0, /* 264 */
01738   0, /* 265 */
01739   0, /* 266 */
01740   0, /* 267 */
01741   0, /* 268 */
01742   0, /* 269 */
01743   0, /* 270 */
01744   0, /* 271 */
01745   0, /* 272 */
01746   0, /* 273 */
01747   0, /* 274 */
01748   0, /* 275 */
01749   0, /* 276 */
01750   0, /* 277 */
01751   0, /* 278 */
01752   0, /* 279 */
01753   0, /* 280 */
01754   0, /* 281 */
01755   0, /* 282 */
01756   0, /* 283 */
01757   0, /* 284 */
01758   0, /* 285 */
01759   0, /* 286 */
01760   0, /* 287 */
01761   0, /* 288 */
01762   0, /* 289 */
01763   0, /* 290 */
01764   0, /* 291 */
01765   0, /* 292 */
01766   0, /* 293 */
01767   0, /* 294 */
01768   0, /* 295 */
01769   0, /* 296 */
01770   0, /* 297 */
01771   0, /* 298 */
01772   0, /* 299 */
01773   0, /* 300 */
01774   0, /* 301 */
01775   0, /* 302 */
01776   0, /* 303 */
01777   0, /* 304 */
01778   0, /* 305 */
01779   0, /* 306 */
01780   0, /* 307 */
01781   0, /* 308 */
01782   0, /* 309 */
01783   0, /* 310 */
01784   0, /* 311 */
01785   0, /* 312 */
01786   0, /* 313 */
01787   "Not"
01788 };
01789 char burm_arity[] = {
01790   -1, /* 0 */
01791   0, /* 1 */
01792   0, /* 2 */
01793   1, /* 3 */
01794   -1, /* 4 */
01795   -1, /* 5 */
01796   -1, /* 6 */
01797   2, /* 7 */
01798   2, /* 8 */
01799   2, /* 9 */
01800   2, /* 10 */
01801   2, /* 11 */
01802   2, /* 12 */
01803   2, /* 13 */
01804   2, /* 14 */
01805   -1, /* 15 */
01806   -1, /* 16 */
01807   -1, /* 17 */
01808   -1, /* 18 */
01809   -1, /* 19 */
01810   -1, /* 20 */
01811   -1, /* 21 */
01812   -1, /* 22 */
01813   0, /* 23 */
01814   1, /* 24 */
01815   2, /* 25 */
01816   1, /* 26 */
01817   2, /* 27 */
01818   -1, /* 28 */
01819   0, /* 29 */
01820   2, /* 30 */
01821   2, /* 31 */
01822   -1, /* 32 */
01823   -1, /* 33 */
01824   -1, /* 34 */
01825   -1, /* 35 */
01826   -1, /* 36 */
01827   1, /* 37 */
01828   -1, /* 38 */
01829   -1, /* 39 */
01830   -1, /* 40 */
01831   -1, /* 41 */
01832   -1, /* 42 */
01833   -1, /* 43 */
01834   -1, /* 44 */
01835   -1, /* 45 */
01836   -1, /* 46 */
01837   -1, /* 47 */
01838   -1, /* 48 */
01839   -1, /* 49 */
01840   -1, /* 50 */
01841   -1, /* 51 */
01842   -1, /* 52 */
01843   -1, /* 53 */
01844   -1, /* 54 */
01845   -1, /* 55 */
01846   -1, /* 56 */
01847   -1, /* 57 */
01848   -1, /* 58 */
01849   -1, /* 59 */
01850   -1, /* 60 */
01851   -1, /* 61 */
01852   -1, /* 62 */
01853   -1, /* 63 */
01854   -1, /* 64 */
01855   -1, /* 65 */
01856   -1, /* 66 */
01857   -1, /* 67 */
01858   -1, /* 68 */
01859   -1, /* 69 */
01860   -1, /* 70 */
01861   -1, /* 71 */
01862   -1, /* 72 */
01863   -1, /* 73 */
01864   -1, /* 74 */
01865   -1, /* 75 */
01866   -1, /* 76 */
01867   -1, /* 77 */
01868   -1, /* 78 */
01869   -1, /* 79 */
01870   -1, /* 80 */
01871   -1, /* 81 */
01872   -1, /* 82 */
01873   -1, /* 83 */
01874   -1, /* 84 */
01875   -1, /* 85 */
01876   -1, /* 86 */
01877   -1, /* 87 */
01878   -1, /* 88 */
01879   -1, /* 89 */
01880   -1, /* 90 */
01881   -1, /* 91 */
01882   -1, /* 92 */
01883   -1, /* 93 */
01884   -1, /* 94 */
01885   -1, /* 95 */
01886   -1, /* 96 */
01887   2, /* 97 */
01888   0, /* 98 */
01889   0, /* 99 */
01890   -1, /* 100 */
01891   1, /* 101 */
01892   1, /* 102 */
01893   -1, /* 103 */
01894   -1, /* 104 */
01895   -1, /* 105 */
01896   -1, /* 106 */
01897   -1, /* 107 */
01898   -1, /* 108 */
01899   -1, /* 109 */
01900   -1, /* 110 */
01901   -1, /* 111 */
01902   2, /* 112 */
01903   2, /* 113 */
01904   2, /* 114 */
01905   2, /* 115 */
01906   -1, /* 116 */
01907   -1, /* 117 */
01908   -1, /* 118 */
01909   -1, /* 119 */
01910   -1, /* 120 */
01911   -1, /* 121 */
01912   -1, /* 122 */
01913   1, /* 123 */
01914   -1, /* 124 */
01915   -1, /* 125 */
01916   2, /* 126 */
01917   -1, /* 127 */
01918   1, /* 128 */
01919   1, /* 129 */
01920   1, /* 130 */
01921   1, /* 131 */
01922   1, /* 132 */
01923   1, /* 133 */
01924   1, /* 134 */
01925   1, /* 135 */
01926   1, /* 136 */
01927   1, /* 137 */
01928   1, /* 138 */
01929   1, /* 139 */
01930   1, /* 140 */
01931   -1, /* 141 */
01932   -1, /* 142 */
01933   -1, /* 143 */
01934   -1, /* 144 */
01935   -1, /* 145 */
01936   -1, /* 146 */
01937   -1, /* 147 */
01938   -1, /* 148 */
01939   -1, /* 149 */
01940   -1, /* 150 */
01941   -1, /* 151 */
01942   -1, /* 152 */
01943   -1, /* 153 */
01944   -1, /* 154 */
01945   -1, /* 155 */
01946   -1, /* 156 */
01947   -1, /* 157 */
01948   -1, /* 158 */
01949   -1, /* 159 */
01950   -1, /* 160 */
01951   -1, /* 161 */
01952   -1, /* 162 */
01953   -1, /* 163 */
01954   -1, /* 164 */
01955   -1, /* 165 */
01956   -1, /* 166 */
01957   -1, /* 167 */
01958   -1, /* 168 */
01959   -1, /* 169 */
01960   -1, /* 170 */
01961   -1, /* 171 */
01962   -1, /* 172 */
01963   -1, /* 173 */
01964   -1, /* 174 */
01965   -1, /* 175 */
01966   -1, /* 176 */
01967   -1, /* 177 */
01968   -1, /* 178 */
01969   -1, /* 179 */
01970   -1, /* 180 */
01971   -1, /* 181 */
01972   -1, /* 182 */
01973   -1, /* 183 */
01974   -1, /* 184 */
01975   -1, /* 185 */
01976   -1, /* 186 */
01977   -1, /* 187 */
01978   -1, /* 188 */
01979   -1, /* 189 */
01980   -1, /* 190 */
01981   -1, /* 191 */
01982   -1, /* 192 */
01983   -1, /* 193 */
01984   -1, /* 194 */
01985   -1, /* 195 */
01986   -1, /* 196 */
01987   -1, /* 197 */
01988   -1, /* 198 */
01989   -1, /* 199 */
01990   -1, /* 200 */
01991   -1, /* 201 */
01992   -1, /* 202 */
01993   -1, /* 203 */
01994   -1, /* 204 */
01995   -1, /* 205 */
01996   -1, /* 206 */
01997   -1, /* 207 */
01998   -1, /* 208 */
01999   -1, /* 209 */
02000   -1, /* 210 */
02001   -1, /* 211 */
02002   -1, /* 212 */
02003   -1, /* 213 */
02004   2, /* 214 */
02005   -1, /* 215 */
02006   -1, /* 216 */
02007   -1, /* 217 */
02008   -1, /* 218 */
02009   -1, /* 219 */
02010   -1, /* 220 */
02011   -1, /* 221 */
02012   -1, /* 222 */
02013   -1, /* 223 */
02014   -1, /* 224 */
02015   -1, /* 225 */
02016   -1, /* 226 */
02017   -1, /* 227 */
02018   -1, /* 228 */
02019   -1, /* 229 */
02020   -1, /* 230 */
02021   -1, /* 231 */
02022   -1, /* 232 */
02023   -1, /* 233 */
02024   -1, /* 234 */
02025   -1, /* 235 */
02026   -1, /* 236 */
02027   -1, /* 237 */
02028   -1, /* 238 */
02029   -1, /* 239 */
02030   -1, /* 240 */
02031   -1, /* 241 */
02032   -1, /* 242 */
02033   -1, /* 243 */
02034   -1, /* 244 */
02035   -1, /* 245 */
02036   -1, /* 246 */
02037   -1, /* 247 */
02038   -1, /* 248 */
02039   -1, /* 249 */
02040   -1, /* 250 */
02041   -1, /* 251 */
02042   -1, /* 252 */
02043   -1, /* 253 */
02044   -1, /* 254 */
02045   -1, /* 255 */
02046   -1, /* 256 */
02047   -1, /* 257 */
02048   -1, /* 258 */
02049   -1, /* 259 */
02050   -1, /* 260 */
02051   -1, /* 261 */
02052   -1, /* 262 */
02053   -1, /* 263 */
02054   -1, /* 264 */
02055   -1, /* 265 */
02056   -1, /* 266 */
02057   -1, /* 267 */
02058   -1, /* 268 */
02059   -1, /* 269 */
02060   -1, /* 270 */
02061   -1, /* 271 */
02062   -1, /* 272 */
02063   -1, /* 273 */
02064   -1, /* 274 */
02065   -1, /* 275 */
02066   -1, /* 276 */
02067   -1, /* 277 */
02068   -1, /* 278 */
02069   -1, /* 279 */
02070   -1, /* 280 */
02071   -1, /* 281 */
02072   -1, /* 282 */
02073   -1, /* 283 */
02074   -1, /* 284 */
02075   -1, /* 285 */
02076   -1, /* 286 */
02077   -1, /* 287 */
02078   -1, /* 288 */
02079   -1, /* 289 */
02080   -1, /* 290 */
02081   -1, /* 291 */
02082   -1, /* 292 */
02083   -1, /* 293 */
02084   -1, /* 294 */
02085   -1, /* 295 */
02086   -1, /* 296 */
02087   -1, /* 297 */
02088   -1, /* 298 */
02089   -1, /* 299 */
02090   -1, /* 300 */
02091   -1, /* 301 */
02092   -1, /* 302 */
02093   -1, /* 303 */
02094   -1, /* 304 */
02095   -1, /* 305 */
02096   -1, /* 306 */
02097   -1, /* 307 */
02098   -1, /* 308 */
02099   -1, /* 309 */
02100   -1, /* 310 */
02101   -1, /* 311 */
02102   -1, /* 312 */
02103   -1, /* 313 */
02104   2
02105 };
02106 int burm_max_op = 314;
02107 int burm_max_state = 71;
02108 #define burm_Max_state 71
02109 const char *burm_string[] = {
02110   0,
02111   "stmt: Ret",
02112   "stmt: RetValue(reg)",
02113   "stmt: Store(reg, reg)",
02114   "stmt: Store(reg, ptrreg)",
02115   "stmt: BrUncond",
02116   "stmt: BrCond(setCC)",
02117   0,
02118   "stmt: BrCond(reg)",
02119   "stmt: Switch(reg)",
02120   "reg: VRegList(reg, reg)",
02121   0,
02122   0,
02123   0,
02124   0,
02125   0,
02126   0,
02127   0,
02128   0,
02129   "reg: ToArrayTy(reg)",
02130   "reg: ToPointerTy(reg)",
02131   "not: Not(reg, reg)",
02132   "tobool: ToBoolTy(reg)",
02133   "toubyte: ToUByteTy(reg)",
02134   "tosbyte: ToSByteTy(reg)",
02135   "toushort: ToUShortTy(reg)",
02136   "toshort: ToShortTy(reg)",
02137   "touint: ToUIntTy(reg)",
02138   "toint: ToIntTy(reg)",
02139   "toulong: ToULongTy(reg)",
02140   "tolong: ToLongTy(reg)",
02141   "tofloat: ToFloatTy(reg)",
02142   "todouble: ToDoubleTy(reg)",
02143   "reg: Add(reg, reg)",
02144   "reg: Sub(reg, reg)",
02145   "reg: Mul(reg, reg)",
02146   "reg: Div(reg, reg)",
02147   "reg: Rem(reg, reg)",
02148   "reg: And(reg, reg)",
02149   "reg: Or(reg, reg)",
02150   "reg: Xor(reg, reg)",
02151   "setCCconst: SetCC(reg, Constant)",
02152   "setCC: SetCC(reg, reg)",
02153   0,
02154   0,
02155   0,
02156   0,
02157   0,
02158   0,
02159   0,
02160   0,
02161   "reg: Load(reg)",
02162   "reg: Load(ptrreg)",
02163   0,
02164   0,
02165   "ptrreg: GetElemPtr(reg)",
02166   "ptrreg: GetElemPtrIdx(reg, reg)",
02167   "reg: Alloca",
02168   "reg: AllocaN(reg)",
02169   0,
02170   0,
02171   "reg: Call",
02172   "reg: Shl(reg, reg)",
02173   "reg: Shr(reg, reg)",
02174   "reg: Phi(reg, reg)",
02175   0,
02176   "reg: VAArg(reg)",
02177   0,
02178   0,
02179   0,
02180   0,
02181   "reg: VReg",
02182   "reg: Constant",
02183   0,
02184   0,
02185   0,
02186   0,
02187   0,
02188   0,
02189   0,
02190   0,
02191   0,
02192   0,
02193   0,
02194   0,
02195   0,
02196   0,
02197   0,
02198   0,
02199   0,
02200   0,
02201   0,
02202   0,
02203   0,
02204   0,
02205   0,
02206   0,
02207   0,
02208   0,
02209   0,
02210   0,
02211   0,
02212   0,
02213   0,
02214   0,
02215   0,
02216   0,
02217   0,
02218   0,
02219   0,
02220   0,
02221   "stmt: reg",
02222   0,
02223   0,
02224   0,
02225   0,
02226   0,
02227   0,
02228   0,
02229   0,
02230   0,
02231   0,
02232   0,
02233   "reg: toubyte",
02234   "reg: tosbyte",
02235   "reg: toushort",
02236   "reg: toshort",
02237   "reg: touint",
02238   "reg: toint",
02239   "reg: toulong",
02240   "reg: tolong",
02241   "reg: tofloat",
02242   "reg: todouble",
02243   "reg: todoubleConst",
02244   0,
02245   "reg: Mul(todouble, todouble)",
02246   0,
02247   0,
02248   "reg: And(reg, not)",
02249   "reg: Or(reg, not)",
02250   "reg: Xor(reg, not)",
02251   0,
02252   0,
02253   0,
02254   0,
02255   0,
02256   0,
02257   0,
02258   0,
02259   0,
02260   0,
02261   0,
02262   0,
02263   0,
02264   0,
02265   "reg: ptrreg",
02266   0,
02267   0,
02268   0,
02269   0,
02270   0,
02271   0,
02272   0,
02273   0,
02274   0,
02275   0,
02276   0,
02277   0,
02278   0,
02279   0,
02280   0,
02281   0,
02282   0,
02283   0,
02284   0,
02285   0,
02286   0,
02287   0,
02288   0,
02289   0,
02290   0,
02291   0,
02292   0,
02293   0,
02294   0,
02295   0,
02296   0,
02297   0,
02298   0,
02299   0,
02300   0,
02301   0,
02302   0,
02303   0,
02304   0,
02305   0,
02306   0,
02307   0,
02308   0,
02309   0,
02310   0,
02311   0,
02312   0,
02313   0,
02314   0,
02315   0,
02316   "stmt: BrCond(setCCconst)",
02317   0,
02318   "stmt: BrCond(Constant)",
02319   0,
02320   0,
02321   0,
02322   0,
02323   0,
02324   0,
02325   0,
02326   0,
02327   0,
02328   0,
02329   0,
02330   0,
02331   "reg: not",
02332   "reg: tobool",
02333   0,
02334   0,
02335   0,
02336   0,
02337   0,
02338   0,
02339   0,
02340   0,
02341   0,
02342   "todoubleConst: ToDoubleTy(Constant)",
02343   "reg: Add(reg, Constant)",
02344   "reg: Sub(reg, Constant)",
02345   "reg: Mul(reg, Constant)",
02346   "reg: Div(reg, Constant)",
02347   "reg: Rem(reg, Constant)",
02348   "reg: And(reg, Constant)",
02349   "reg: Or(reg, Constant)",
02350   "reg: Xor(reg, Constant)",
02351   "reg: setCCconst",
02352   "reg: setCC",
02353   0,
02354   0,
02355   0,
02356   0,
02357   0,
02358   0,
02359   0,
02360   0,
02361   0,
02362   0,
02363   0,
02364   0,
02365   0,
02366   0,
02367   0,
02368   0,
02369   0,
02370   0,
02371   0,
02372   0,
02373   0,
02374   0,
02375   0,
02376   0,
02377   0,
02378   0,
02379   0,
02380   0,
02381   0,
02382   0,
02383   0,
02384   0,
02385   0,
02386   0,
02387   0,
02388   0,
02389   0,
02390   0,
02391   0,
02392   0,
02393   0,
02394   0,
02395   0,
02396   0,
02397   0,
02398   0,
02399   0,
02400   0,
02401   0,
02402   0,
02403   0,
02404   0,
02405   0,
02406   0,
02407   0,
02408   0,
02409   0,
02410   0,
02411   0,
02412   0,
02413   0,
02414   0,
02415   0,
02416   0,
02417   0,
02418   0,
02419   0,
02420   0,
02421   0,
02422   0,
02423   0,
02424   0,
02425   0,
02426   0,
02427   0,
02428   0,
02429   0,
02430   0,
02431   "reg: bnot",
02432   "not: Not(tobool, reg)",
02433   0,
02434   0,
02435   0,
02436   0,
02437   0,
02438   0,
02439   0,
02440   0,
02441   0,
02442   0,
02443   0,
02444   0,
02445   "reg: Mul(todouble, todoubleConst)",
02446   0,
02447   0,
02448   "reg: BAnd(reg, reg)",
02449   "reg: BOr(reg, reg)",
02450   "reg: BXor(reg, reg)",
02451   0,
02452   0,
02453   0,
02454   0,
02455   0,
02456   0,
02457   0,
02458   0,
02459   0,
02460   0,
02461   0,
02462   0,
02463   0,
02464   0,
02465   0,
02466   0,
02467   0,
02468   0,
02469   0,
02470   0,
02471   0,
02472   0,
02473   0,
02474   0,
02475   0,
02476   0,
02477   0,
02478   0,
02479   0,
02480   0,
02481   0,
02482   0,
02483   0,
02484   0,
02485   0,
02486   0,
02487   0,
02488   0,
02489   0,
02490   0,
02491   0,
02492   0,
02493   0,
02494   0,
02495   0,
02496   0,
02497   0,
02498   0,
02499   0,
02500   0,
02501   0,
02502   0,
02503   0,
02504   0,
02505   0,
02506   0,
02507   0,
02508   0,
02509   0,
02510   0,
02511   0,
02512   0,
02513   0,
02514   0,
02515   0,
02516   0,
02517   0,
02518   0,
02519   0,
02520   0,
02521   0,
02522   0,
02523   0,
02524   0,
02525   0,
02526   0,
02527   0,
02528   0,
02529   0,
02530   0,
02531   "bnot: BNot(reg, reg)",
02532   0,
02533   0,
02534   0,
02535   0,
02536   0,
02537   0,
02538   0,
02539   0,
02540   0,
02541   0,
02542   0,
02543   0,
02544   0,
02545   0,
02546   0,
02547   0,
02548   "reg: BAnd(reg, bnot)",
02549   "reg: BOr(reg, bnot)",
02550   "reg: BXor(reg, bnot)",
02551   0,
02552   0,
02553   0,
02554   0,
02555   0,
02556   0,
02557   0,
02558   0,
02559   0,
02560   0,
02561   0,
02562   0,
02563   0,
02564   0,
02565   0,
02566   0,
02567   0,
02568   0,
02569   0,
02570   0,
02571   0,
02572   0,
02573   0,
02574   0,
02575   0,
02576   0,
02577   0,
02578   0,
02579   0,
02580   0,
02581   0,
02582   0,
02583   0,
02584   0,
02585   0,
02586   0,
02587   0,
02588   0,
02589   0,
02590   0,
02591   0,
02592   0,
02593   0,
02594   0,
02595   0,
02596   0,
02597   0,
02598   0,
02599   0,
02600   0,
02601   0,
02602   0,
02603   0,
02604   0,
02605   0,
02606   0,
02607   0,
02608   0,
02609   0,
02610   0,
02611   0,
02612   0,
02613   0,
02614   0,
02615   0,
02616   0,
02617   0,
02618   0,
02619   0,
02620   0,
02621   0,
02622   0,
02623   0,
02624   0,
02625   0,
02626   0,
02627   0,
02628   0,
02629   0,
02630   0,
02631   0,
02632   0,
02633   0,
02634   0,
02635   0,
02636   0,
02637   0,
02638   0,
02639   0,
02640   0,
02641   0,
02642   0,
02643   0,
02644   0,
02645   0,
02646   0,
02647   0,
02648   "reg: BAnd(reg, Constant)",
02649   "reg: BOr(reg, Constant)",
02650   "reg: BXor(reg, Constant)",
02651 };
02652 int burm_max_rule = 540;
02653 #define burm_Max_rule 540
02654 short burm_rule_descriptor_0[] = { 0, 0 };
02655 short burm_rule_descriptor_1[] = {   -1,    1, };
02656 short burm_rule_descriptor_2[] = {   -1,  101,   -2, };
02657 short burm_rule_descriptor_3[] = {   -1,   25,   -2,   -2, };
02658 short burm_rule_descriptor_4[] = {   -1,   25,   -2,  -19, };
02659 short burm_rule_descriptor_5[] = {   -1,    2, };
02660 short burm_rule_descriptor_6[] = {   -1,  102,  -17, };
02661 short burm_rule_descriptor_8[] = {   -1,  102,   -2, };
02662 short burm_rule_descriptor_9[] = {   -1,    3,   -2, };
02663 short burm_rule_descriptor_10[] = {   -2,   97,   -2,   -2, };
02664 short burm_rule_descriptor_19[] = {   -2,  139,   -2, };
02665 short burm_rule_descriptor_20[] = {   -2,  140,   -2, };
02666 short burm_rule_descriptor_21[] = {   -3,  314,   -2,   -2, };
02667 short burm_rule_descriptor_22[] = {   -4,  128,   -2, };
02668 short burm_rule_descriptor_23[] = {   -5,  129,   -2, };
02669 short burm_rule_descriptor_24[] = {   -6,  130,   -2, };
02670 short burm_rule_descriptor_25[] = {   -7,  131,   -2, };
02671 short burm_rule_descriptor_26[] = {   -8,  132,   -2, };
02672 short burm_rule_descriptor_27[] = {   -9,  133,   -2, };
02673 short burm_rule_descriptor_28[] = {  -10,  134,   -2, };
02674 short burm_rule_descriptor_29[] = {  -11,  135,   -2, };
02675 short burm_rule_descriptor_30[] = {  -12,  136,   -2, };
02676 short burm_rule_descriptor_31[] = {  -13,  137,   -2, };
02677 short burm_rule_descriptor_32[] = {  -14,  138,   -2, };
02678 short burm_rule_descriptor_33[] = {   -2,    7,   -2,   -2, };
02679 short burm_rule_descriptor_34[] = {   -2,    8,   -2,   -2, };
02680 short burm_rule_descriptor_35[] = {   -2,    9,   -2,   -2, };
02681 short burm_rule_descriptor_36[] = {   -2,   10,   -2,   -2, };
02682 short burm_rule_descriptor_37[] = {   -2,   11,   -2,   -2, };
02683 short burm_rule_descriptor_38[] = {   -2,   12,   -2,   -2, };
02684 short burm_rule_descriptor_39[] = {   -2,   13,   -2,   -2, };
02685 short burm_rule_descriptor_40[] = {   -2,   14,   -2,   -2, };
02686 short burm_rule_descriptor_41[] = {  -16,  115,   -2,   99, };
02687 short burm_rule_descriptor_42[] = {  -17,  115,   -2,   -2, };
02688 short burm_rule_descriptor_51[] = {   -2,   24,   -2, };
02689 short burm_rule_descriptor_52[] = {   -2,   24,  -19, };
02690 short burm_rule_descriptor_55[] = {  -19,   26,   -2, };
02691 short burm_rule_descriptor_56[] = {  -19,  126,   -2,   -2, };
02692 short burm_rule_descriptor_57[] = {   -2,   23, };
02693 short burm_rule_descriptor_58[] = {   -2,  123,   -2, };
02694 short burm_rule_descriptor_61[] = {   -2,   29, };
02695 short burm_rule_descriptor_62[] = {   -2,   30,   -2,   -2, };
02696 short burm_rule_descriptor_63[] = {   -2,   31,   -2,   -2, };
02697 short burm_rule_descriptor_64[] = {   -2,   27,   -2,   -2, };
02698 short burm_rule_descriptor_66[] = {   -2,   37,   -2, };
02699 short burm_rule_descriptor_71[] = {   -2,   98, };
02700 short burm_rule_descriptor_72[] = {   -2,   99, };
02701 short burm_rule_descriptor_111[] = {   -1,   -2, };
02702 short burm_rule_descriptor_123[] = {   -2,   -5, };
02703 short burm_rule_descriptor_124[] = {   -2,   -6, };
02704 short burm_rule_descriptor_125[] = {   -2,   -7, };
02705 short burm_rule_descriptor_126[] = {   -2,   -8, };
02706 short burm_rule_descriptor_127[] = {   -2,   -9, };
02707 short burm_rule_descriptor_128[] = {   -2,  -10, };
02708 short burm_rule_descriptor_129[] = {   -2,  -11, };
02709 short burm_rule_descriptor_130[] = {   -2,  -12, };
02710 short burm_rule_descriptor_131[] = {   -2,  -13, };
02711 short burm_rule_descriptor_132[] = {   -2,  -14, };
02712 short burm_rule_descriptor_133[] = {   -2,  -15, };
02713 short burm_rule_descriptor_135[] = {   -2,    9,  -14,  -14, };
02714 short burm_rule_descriptor_138[] = {   -2,   12,   -2,   -3, };
02715 short burm_rule_descriptor_139[] = {   -2,   13,   -2,   -3, };
02716 short burm_rule_descriptor_140[] = {   -2,   14,   -2,   -3, };
02717 short burm_rule_descriptor_155[] = {   -2,  -19, };
02718 short burm_rule_descriptor_206[] = {   -1,  102,  -16, };
02719 short burm_rule_descriptor_208[] = {   -1,  102,   99, };
02720 short burm_rule_descriptor_221[] = {   -2,   -3, };
02721 short burm_rule_descriptor_222[] = {   -2,   -4, };
02722 short burm_rule_descriptor_232[] = {  -15,  138,   99, };
02723 short burm_rule_descriptor_233[] = {   -2,    7,   -2,   99, };
02724 short burm_rule_descriptor_234[] = {   -2,    8,   -2,   99, };
02725 short burm_rule_descriptor_235[] = {   -2,    9,   -2,   99, };
02726 short burm_rule_descriptor_236[] = {   -2,   10,   -2,   99, };
02727 short burm_rule_descriptor_237[] = {   -2,   11,   -2,   99, };
02728 short burm_rule_descriptor_238[] = {   -2,   12,   -2,   99, };
02729 short burm_rule_descriptor_239[] = {   -2,   13,   -2,   99, };
02730 short burm_rule_descriptor_240[] = {   -2,   14,   -2,   99, };
02731 short burm_rule_descriptor_241[] = {   -2,  -16, };
02732 short burm_rule_descriptor_242[] = {   -2,  -17, };
02733 short burm_rule_descriptor_321[] = {   -2,  -18, };
02734 short burm_rule_descriptor_322[] = {   -3,  314,   -4,   -2, };
02735 short burm_rule_descriptor_335[] = {   -2,    9,  -14,  -15, };
02736 short burm_rule_descriptor_338[] = {   -2,  112,   -2,   -2, };
02737 short burm_rule_descriptor_339[] = {   -2,  113,   -2,   -2, };
02738 short burm_rule_descriptor_340[] = {   -2,  114,   -2,   -2, };
02739 short burm_rule_descriptor_421[] = {  -18,  214,   -2,   -2, };
02740 short burm_rule_descriptor_438[] = {   -2,  112,   -2,  -18, };
02741 short burm_rule_descriptor_439[] = {   -2,  113,   -2,  -18, };
02742 short burm_rule_descriptor_440[] = {   -2,  114,   -2,  -18, };
02743 short burm_rule_descriptor_538[] = {   -2,  112,   -2,   99, };
02744 short burm_rule_descriptor_539[] = {   -2,  113,   -2,   99, };
02745 short burm_rule_descriptor_540[] = {   -2,  114,   -2,   99, };
02746 /* burm_rule_descriptors[0][1] = 1 iff grammar is normal form. */
02747 short * burm_rule_descriptors[] = {
02748   burm_rule_descriptor_0,
02749   burm_rule_descriptor_1,
02750   burm_rule_descriptor_2,
02751   burm_rule_descriptor_3,
02752   burm_rule_descriptor_4,
02753   burm_rule_descriptor_5,
02754   burm_rule_descriptor_6,
02755   burm_rule_descriptor_0,
02756   burm_rule_descriptor_8,
02757   burm_rule_descriptor_9,
02758   burm_rule_descriptor_10,
02759   burm_rule_descriptor_0,
02760   burm_rule_descriptor_0,
02761   burm_rule_descriptor_0,
02762   burm_rule_descriptor_0,
02763   burm_rule_descriptor_0,
02764   burm_rule_descriptor_0,
02765   burm_rule_descriptor_0,
02766   burm_rule_descriptor_0,
02767   burm_rule_descriptor_19,
02768   burm_rule_descriptor_20,
02769   burm_rule_descriptor_21,
02770   burm_rule_descriptor_22,
02771   burm_rule_descriptor_23,
02772   burm_rule_descriptor_24,
02773   burm_rule_descriptor_25,
02774   burm_rule_descriptor_26,
02775   burm_rule_descriptor_27,
02776   burm_rule_descriptor_28,
02777   burm_rule_descriptor_29,
02778   burm_rule_descriptor_30,
02779   burm_rule_descriptor_31,
02780   burm_rule_descriptor_32,
02781   burm_rule_descriptor_33,
02782   burm_rule_descriptor_34,
02783   burm_rule_descriptor_35,
02784   burm_rule_descriptor_36,
02785   burm_rule_descriptor_37,
02786   burm_rule_descriptor_38,
02787   burm_rule_descriptor_39,
02788   burm_rule_descriptor_40,
02789   burm_rule_descriptor_41,
02790   burm_rule_descriptor_42,
02791   burm_rule_descriptor_0,
02792   burm_rule_descriptor_0,
02793   burm_rule_descriptor_0,
02794   burm_rule_descriptor_0,
02795   burm_rule_descriptor_0,
02796   burm_rule_descriptor_0,
02797   burm_rule_descriptor_0,
02798   burm_rule_descriptor_0,
02799   burm_rule_descriptor_51,
02800   burm_rule_descriptor_52,
02801   burm_rule_descriptor_0,
02802   burm_rule_descriptor_0,
02803   burm_rule_descriptor_55,
02804   burm_rule_descriptor_56,
02805   burm_rule_descriptor_57,
02806   burm_rule_descriptor_58,
02807   burm_rule_descriptor_0,
02808   burm_rule_descriptor_0,
02809   burm_rule_descriptor_61,
02810   burm_rule_descriptor_62,
02811   burm_rule_descriptor_63,
02812   burm_rule_descriptor_64,
02813   burm_rule_descriptor_0,
02814   burm_rule_descriptor_66,
02815   burm_rule_descriptor_0,
02816   burm_rule_descriptor_0,
02817   burm_rule_descriptor_0,
02818   burm_rule_descriptor_0,
02819   burm_rule_descriptor_71,
02820   burm_rule_descriptor_72,
02821   burm_rule_descriptor_0,
02822   burm_rule_descriptor_0,
02823   burm_rule_descriptor_0,
02824   burm_rule_descriptor_0,
02825   burm_rule_descriptor_0,
02826   burm_rule_descriptor_0,
02827   burm_rule_descriptor_0,
02828   burm_rule_descriptor_0,
02829   burm_rule_descriptor_0,
02830   burm_rule_descriptor_0,
02831   burm_rule_descriptor_0,
02832   burm_rule_descriptor_0,
02833   burm_rule_descriptor_0,
02834   burm_rule_descriptor_0,
02835   burm_rule_descriptor_0,
02836   burm_rule_descriptor_0,
02837   burm_rule_descriptor_0,
02838   burm_rule_descriptor_0,
02839   burm_rule_descriptor_0,
02840   burm_rule_descriptor_0,
02841   burm_rule_descriptor_0,
02842   burm_rule_descriptor_0,
02843   burm_rule_descriptor_0,
02844   burm_rule_descriptor_0,
02845   burm_rule_descriptor_0,
02846   burm_rule_descriptor_0,
02847   burm_rule_descriptor_0,
02848   burm_rule_descriptor_0,
02849   burm_rule_descriptor_0,
02850   burm_rule_descriptor_0,
02851   burm_rule_descriptor_0,
02852   burm_rule_descriptor_0,
02853   burm_rule_descriptor_0,
02854   burm_rule_descriptor_0,
02855   burm_rule_descriptor_0,
02856   burm_rule_descriptor_0,
02857   burm_rule_descriptor_0,
02858   burm_rule_descriptor_0,
02859   burm_rule_descriptor_111,
02860   burm_rule_descriptor_0,
02861   burm_rule_descriptor_0,
02862   burm_rule_descriptor_0,
02863   burm_rule_descriptor_0,
02864   burm_rule_descriptor_0,
02865   burm_rule_descriptor_0,
02866   burm_rule_descriptor_0,
02867   burm_rule_descriptor_0,
02868   burm_rule_descriptor_0,
02869   burm_rule_descriptor_0,
02870   burm_rule_descriptor_0,
02871   burm_rule_descriptor_123,
02872   burm_rule_descriptor_124,
02873   burm_rule_descriptor_125,
02874   burm_rule_descriptor_126,
02875   burm_rule_descriptor_127,
02876   burm_rule_descriptor_128,
02877   burm_rule_descriptor_129,
02878   burm_rule_descriptor_130,
02879   burm_rule_descriptor_131,
02880   burm_rule_descriptor_132,
02881   burm_rule_descriptor_133,
02882   burm_rule_descriptor_0,
02883   burm_rule_descriptor_135,
02884   burm_rule_descriptor_0,
02885   burm_rule_descriptor_0,
02886   burm_rule_descriptor_138,
02887   burm_rule_descriptor_139,
02888   burm_rule_descriptor_140,
02889   burm_rule_descriptor_0,
02890   burm_rule_descriptor_0,
02891   burm_rule_descriptor_0,
02892   burm_rule_descriptor_0,
02893   burm_rule_descriptor_0,
02894   burm_rule_descriptor_0,
02895   burm_rule_descriptor_0,
02896   burm_rule_descriptor_0,
02897   burm_rule_descriptor_0,
02898   burm_rule_descriptor_0,
02899   burm_rule_descriptor_0,
02900   burm_rule_descriptor_0,
02901   burm_rule_descriptor_0,
02902   burm_rule_descriptor_0,
02903   burm_rule_descriptor_155,
02904   burm_rule_descriptor_0,
02905   burm_rule_descriptor_0,
02906   burm_rule_descriptor_0,
02907   burm_rule_descriptor_0,
02908   burm_rule_descriptor_0,
02909   burm_rule_descriptor_0,
02910   burm_rule_descriptor_0,
02911   burm_rule_descriptor_0,
02912   burm_rule_descriptor_0,
02913   burm_rule_descriptor_0,
02914   burm_rule_descriptor_0,
02915   burm_rule_descriptor_0,
02916   burm_rule_descriptor_0,
02917   burm_rule_descriptor_0,
02918   burm_rule_descriptor_0,
02919   burm_rule_descriptor_0,
02920   burm_rule_descriptor_0,
02921   burm_rule_descriptor_0,
02922   burm_rule_descriptor_0,
02923   burm_rule_descriptor_0,
02924   burm_rule_descriptor_0,
02925   burm_rule_descriptor_0,
02926   burm_rule_descriptor_0,
02927   burm_rule_descriptor_0,
02928   burm_rule_descriptor_0,
02929   burm_rule_descriptor_0,
02930   burm_rule_descriptor_0,
02931   burm_rule_descriptor_0,
02932   burm_rule_descriptor_0,
02933   burm_rule_descriptor_0,
02934   burm_rule_descriptor_0,
02935   burm_rule_descriptor_0,
02936   burm_rule_descriptor_0,
02937   burm_rule_descriptor_0,
02938   burm_rule_descriptor_0,
02939   burm_rule_descriptor_0,
02940   burm_rule_descriptor_0,
02941   burm_rule_descriptor_0,
02942   burm_rule_descriptor_0,
02943   burm_rule_descriptor_0,
02944   burm_rule_descriptor_0,
02945   burm_rule_descriptor_0,
02946   burm_rule_descriptor_0,
02947   burm_rule_descriptor_0,
02948   burm_rule_descriptor_0,
02949   burm_rule_descriptor_0,
02950   burm_rule_descriptor_0,
02951   burm_rule_descriptor_0,
02952   burm_rule_descriptor_0,
02953   burm_rule_descriptor_0,
02954   burm_rule_descriptor_206,
02955   burm_rule_descriptor_0,
02956   burm_rule_descriptor_208,
02957   burm_rule_descriptor_0,
02958   burm_rule_descriptor_0,
02959   burm_rule_descriptor_0,
02960   burm_rule_descriptor_0,
02961   burm_rule_descriptor_0,
02962   burm_rule_descriptor_0,
02963   burm_rule_descriptor_0,
02964   burm_rule_descriptor_0,
02965   burm_rule_descriptor_0,
02966   burm_rule_descriptor_0,
02967   burm_rule_descriptor_0,
02968   burm_rule_descriptor_0,
02969   burm_rule_descriptor_221,
02970   burm_rule_descriptor_222,
02971   burm_rule_descriptor_0,
02972   burm_rule_descriptor_0,
02973   burm_rule_descriptor_0,
02974   burm_rule_descriptor_0,
02975   burm_rule_descriptor_0,
02976   burm_rule_descriptor_0,
02977   burm_rule_descriptor_0,
02978   burm_rule_descriptor_0,
02979   burm_rule_descriptor_0,
02980   burm_rule_descriptor_232,
02981   burm_rule_descriptor_233,
02982   burm_rule_descriptor_234,
02983   burm_rule_descriptor_235,
02984   burm_rule_descriptor_236,
02985   burm_rule_descriptor_237,
02986   burm_rule_descriptor_238,
02987   burm_rule_descriptor_239,
02988   burm_rule_descriptor_240,
02989   burm_rule_descriptor_241,
02990   burm_rule_descriptor_242,
02991   burm_rule_descriptor_0,
02992   burm_rule_descriptor_0,
02993   burm_rule_descriptor_0,
02994   burm_rule_descriptor_0,
02995   burm_rule_descriptor_0,
02996   burm_rule_descriptor_0,
02997   burm_rule_descriptor_0,
02998   burm_rule_descriptor_0,
02999   burm_rule_descriptor_0,
03000   burm_rule_descriptor_0,
03001   burm_rule_descriptor_0,
03002   burm_rule_descriptor_0,
03003   burm_rule_descriptor_0,
03004   burm_rule_descriptor_0,
03005   burm_rule_descriptor_0,
03006   burm_rule_descriptor_0,
03007   burm_rule_descriptor_0,
03008   burm_rule_descriptor_0,
03009   burm_rule_descriptor_0,
03010   burm_rule_descriptor_0,
03011   burm_rule_descriptor_0,
03012   burm_rule_descriptor_0,
03013   burm_rule_descriptor_0,
03014   burm_rule_descriptor_0,
03015   burm_rule_descriptor_0,
03016   burm_rule_descriptor_0,
03017   burm_rule_descriptor_0,
03018   burm_rule_descriptor_0,
03019   burm_rule_descriptor_0,
03020   burm_rule_descriptor_0,
03021   burm_rule_descriptor_0,
03022   burm_rule_descriptor_0,
03023   burm_rule_descriptor_0,
03024   burm_rule_descriptor_0,
03025   burm_rule_descriptor_0,
03026   burm_rule_descriptor_0,
03027   burm_rule_descriptor_0,
03028   burm_rule_descriptor_0,
03029   burm_rule_descriptor_0,
03030   burm_rule_descriptor_0,
03031   burm_rule_descriptor_0,
03032   burm_rule_descriptor_0,
03033   burm_rule_descriptor_0,
03034   burm_rule_descriptor_0,
03035   burm_rule_descriptor_0,
03036   burm_rule_descriptor_0,
03037   burm_rule_descriptor_0,
03038   burm_rule_descriptor_0,
03039   burm_rule_descriptor_0,
03040   burm_rule_descriptor_0,
03041   burm_rule_descriptor_0,
03042   burm_rule_descriptor_0,
03043   burm_rule_descriptor_0,
03044   burm_rule_descriptor_0,
03045   burm_rule_descriptor_0,
03046   burm_rule_descriptor_0,
03047   burm_rule_descriptor_0,
03048   burm_rule_descriptor_0,
03049   burm_rule_descriptor_0,
03050   burm_rule_descriptor_0,
03051   burm_rule_descriptor_0,
03052   burm_rule_descriptor_0,
03053   burm_rule_descriptor_0,
03054   burm_rule_descriptor_0,
03055   burm_rule_descriptor_0,
03056   burm_rule_descriptor_0,
03057   burm_rule_descriptor_0,
03058   burm_rule_descriptor_0,
03059   burm_rule_descriptor_0,
03060   burm_rule_descriptor_0,
03061   burm_rule_descriptor_0,
03062   burm_rule_descriptor_0,
03063   burm_rule_descriptor_0,
03064   burm_rule_descriptor_0,
03065   burm_rule_descriptor_0,
03066   burm_rule_descriptor_0,
03067   burm_rule_descriptor_0,
03068   burm_rule_descriptor_0,
03069   burm_rule_descriptor_321,
03070   burm_rule_descriptor_322,
03071   burm_rule_descriptor_0,
03072   burm_rule_descriptor_0,
03073   burm_rule_descriptor_0,
03074   burm_rule_descriptor_0,
03075   burm_rule_descriptor_0,
03076   burm_rule_descriptor_0,
03077   burm_rule_descriptor_0,
03078   burm_rule_descriptor_0,
03079   burm_rule_descriptor_0,
03080   burm_rule_descriptor_0,
03081   burm_rule_descriptor_0,
03082   burm_rule_descriptor_0,
03083   burm_rule_descriptor_335,
03084   burm_rule_descriptor_0,
03085   burm_rule_descriptor_0,
03086   burm_rule_descriptor_338,
03087   burm_rule_descriptor_339,
03088   burm_rule_descriptor_340,
03089   burm_rule_descriptor_0,
03090   burm_rule_descriptor_0,
03091   burm_rule_descriptor_0,
03092   burm_rule_descriptor_0,
03093   burm_rule_descriptor_0,
03094   burm_rule_descriptor_0,
03095   burm_rule_descriptor_0,
03096   burm_rule_descriptor_0,
03097   burm_rule_descriptor_0,
03098   burm_rule_descriptor_0,
03099   burm_rule_descriptor_0,
03100   burm_rule_descriptor_0,
03101   burm_rule_descriptor_0,
03102   burm_rule_descriptor_0,
03103   burm_rule_descriptor_0,
03104   burm_rule_descriptor_0,
03105   burm_rule_descriptor_0,
03106   burm_rule_descriptor_0,
03107   burm_rule_descriptor_0,
03108   burm_rule_descriptor_0,
03109   burm_rule_descriptor_0,
03110   burm_rule_descriptor_0,
03111   burm_rule_descriptor_0,
03112   burm_rule_descriptor_0,
03113   burm_rule_descriptor_0,
03114   burm_rule_descriptor_0,
03115   burm_rule_descriptor_0,
03116   burm_rule_descriptor_0,
03117   burm_rule_descriptor_0,
03118   burm_rule_descriptor_0,
03119   burm_rule_descriptor_0,
03120   burm_rule_descriptor_0,
03121   burm_rule_descriptor_0,
03122   burm_rule_descriptor_0,
03123   burm_rule_descriptor_0,
03124   burm_rule_descriptor_0,
03125   burm_rule_descriptor_0,
03126   burm_rule_descriptor_0,
03127   burm_rule_descriptor_0,
03128   burm_rule_descriptor_0,
03129   burm_rule_descriptor_0,
03130   burm_rule_descriptor_0,
03131   burm_rule_descriptor_0,
03132   burm_rule_descriptor_0,
03133   burm_rule_descriptor_0,
03134   burm_rule_descriptor_0,
03135   burm_rule_descriptor_0,
03136   burm_rule_descriptor_0,
03137   burm_rule_descriptor_0,
03138   burm_rule_descriptor_0,
03139   burm_rule_descriptor_0,
03140   burm_rule_descriptor_0,
03141   burm_rule_descriptor_0,
03142   burm_rule_descriptor_0,
03143   burm_rule_descriptor_0,
03144   burm_rule_descriptor_0,
03145   burm_rule_descriptor_0,
03146   burm_rule_descriptor_0,
03147   burm_rule_descriptor_0,
03148   burm_rule_descriptor_0,
03149   burm_rule_descriptor_0,
03150   burm_rule_descriptor_0,
03151   burm_rule_descriptor_0,
03152   burm_rule_descriptor_0,
03153   burm_rule_descriptor_0,
03154   burm_rule_descriptor_0,
03155   burm_rule_descriptor_0,
03156   burm_rule_descriptor_0,
03157   burm_rule_descriptor_0,
03158   burm_rule_descriptor_0,
03159   burm_rule_descriptor_0,
03160   burm_rule_descriptor_0,
03161   burm_rule_descriptor_0,
03162   burm_rule_descriptor_0,
03163   burm_rule_descriptor_0,
03164   burm_rule_descriptor_0,
03165   burm_rule_descriptor_0,
03166   burm_rule_descriptor_0,
03167   burm_rule_descriptor_0,
03168   burm_rule_descriptor_0,
03169   burm_rule_descriptor_421,
03170   burm_rule_descriptor_0,
03171   burm_rule_descriptor_0,
03172   burm_rule_descriptor_0,
03173   burm_rule_descriptor_0,
03174   burm_rule_descriptor_0,
03175   burm_rule_descriptor_0,
03176   burm_rule_descriptor_0,
03177   burm_rule_descriptor_0,
03178   burm_rule_descriptor_0,
03179   burm_rule_descriptor_0,
03180   burm_rule_descriptor_0,
03181   burm_rule_descriptor_0,
03182   burm_rule_descriptor_0,
03183   burm_rule_descriptor_0,
03184   burm_rule_descriptor_0,
03185   burm_rule_descriptor_0,
03186   burm_rule_descriptor_438,
03187   burm_rule_descriptor_439,
03188   burm_rule_descriptor_440,
03189   burm_rule_descriptor_0,
03190   burm_rule_descriptor_0,
03191   burm_rule_descriptor_0,
03192   burm_rule_descriptor_0,
03193   burm_rule_descriptor_0,
03194   burm_rule_descriptor_0,
03195   burm_rule_descriptor_0,
03196   burm_rule_descriptor_0,
03197   burm_rule_descriptor_0,
03198   burm_rule_descriptor_0,
03199   burm_rule_descriptor_0,
03200   burm_rule_descriptor_0,
03201   burm_rule_descriptor_0,
03202   burm_rule_descriptor_0,
03203   burm_rule_descriptor_0,
03204   burm_rule_descriptor_0,
03205   burm_rule_descriptor_0,
03206   burm_rule_descriptor_0,
03207   burm_rule_descriptor_0,
03208   burm_rule_descriptor_0,
03209   burm_rule_descriptor_0,
03210   burm_rule_descriptor_0,
03211   burm_rule_descriptor_0,
03212   burm_rule_descriptor_0,
03213   burm_rule_descriptor_0,
03214   burm_rule_descriptor_0,
03215   burm_rule_descriptor_0,
03216   burm_rule_descriptor_0,
03217   burm_rule_descriptor_0,
03218   burm_rule_descriptor_0,
03219   burm_rule_descriptor_0,
03220   burm_rule_descriptor_0,
03221   burm_rule_descriptor_0,
03222   burm_rule_descriptor_0,
03223   burm_rule_descriptor_0,
03224   burm_rule_descriptor_0,
03225   burm_rule_descriptor_0,
03226   burm_rule_descriptor_0,
03227   burm_rule_descriptor_0,
03228   burm_rule_descriptor_0,
03229   burm_rule_descriptor_0,
03230   burm_rule_descriptor_0,
03231   burm_rule_descriptor_0,
03232   burm_rule_descriptor_0,
03233   burm_rule_descriptor_0,
03234   burm_rule_descriptor_0,
03235   burm_rule_descriptor_0,
03236   burm_rule_descriptor_0,
03237   burm_rule_descriptor_0,
03238   burm_rule_descriptor_0,
03239   burm_rule_descriptor_0,
03240   burm_rule_descriptor_0,
03241   burm_rule_descriptor_0,
03242   burm_rule_descriptor_0,
03243   burm_rule_descriptor_0,
03244   burm_rule_descriptor_0,
03245   burm_rule_descriptor_0,
03246   burm_rule_descriptor_0,
03247   burm_rule_descriptor_0,
03248   burm_rule_descriptor_0,
03249   burm_rule_descriptor_0,
03250   burm_rule_descriptor_0,
03251   burm_rule_descriptor_0,
03252   burm_rule_descriptor_0,
03253   burm_rule_descriptor_0,
03254   burm_rule_descriptor_0,
03255   burm_rule_descriptor_0,
03256   burm_rule_descriptor_0,
03257   burm_rule_descriptor_0,
03258   burm_rule_descriptor_0,
03259   burm_rule_descriptor_0,
03260   burm_rule_descriptor_0,
03261   burm_rule_descriptor_0,
03262   burm_rule_descriptor_0,
03263   burm_rule_descriptor_0,
03264   burm_rule_descriptor_0,
03265   burm_rule_descriptor_0,
03266   burm_rule_descriptor_0,
03267   burm_rule_descriptor_0,
03268   burm_rule_descriptor_0,
03269   burm_rule_descriptor_0,
03270   burm_rule_descriptor_0,
03271   burm_rule_descriptor_0,
03272   burm_rule_descriptor_0,
03273   burm_rule_descriptor_0,
03274   burm_rule_descriptor_0,
03275   burm_rule_descriptor_0,
03276   burm_rule_descriptor_0,
03277   burm_rule_descriptor_0,
03278   burm_rule_descriptor_0,
03279   burm_rule_descriptor_0,
03280   burm_rule_descriptor_0,
03281   burm_rule_descriptor_0,
03282   burm_rule_descriptor_0,
03283   burm_rule_descriptor_0,
03284   burm_rule_descriptor_0,
03285   burm_rule_descriptor_0,
03286   burm_rule_descriptor_538,
03287   burm_rule_descriptor_539,
03288   burm_rule_descriptor_540,
03289 };
03290 short burm_cost[][4] = {
03291   {    0,    0,    0,    0}, /* (none) = 0 */
03292   {   30,    0,    0,    0}, /* stmt: Ret = 1 */
03293   {   30,    0,    0,    0}, /* stmt: RetValue(reg) = 2 */
03294   {   10,    0,    0,    0}, /* stmt: Store(reg, reg) = 3 */
03295   {   10,    0,    0,    0}, /* stmt: Store(reg, ptrreg) = 4 */
03296   {   20,    0,    0,    0}, /* stmt: BrUncond = 5 */
03297   {   20,    0,    0,    0}, /* stmt: BrCond(setCC) = 6 */
03298   {    0,    0,    0,    0}, /* (none) = 7 */
03299   {   20,    0,    0,    0}, /* stmt: BrCond(reg) = 8 */
03300   {   30,    0,    0,    0}, /* stmt: Switch(reg) = 9 */
03301   {    0,    0,    0,    0}, /* reg: VRegList(reg, reg) = 10 */
03302   {    0,    0,    0,    0}, /* (none) = 11 */
03303   {    0,    0,    0,    0}, /* (none) = 12 */
03304   {    0,    0,    0,    0}, /* (none) = 13 */
03305   {    0,    0,    0,    0}, /* (none) = 14 */
03306   {    0,    0,    0,    0}, /* (none) = 15 */
03307   {    0,    0,    0,    0}, /* (none) = 16 */
03308   {    0,    0,    0,    0}, /* (none) = 17 */
03309   {    0,    0,    0,    0}, /* (none) = 18 */
03310   {   10,    0,    0,    0}, /* reg: ToArrayTy(reg) = 19 */
03311   {   10,    0,    0,    0}, /* reg: ToPointerTy(reg) = 20 */
03312   {   10,    0,    0,    0}, /* not: Not(reg, reg) = 21 */
03313   {   10,    0,    0,    0}, /* tobool: ToBoolTy(reg) = 22 */
03314   {   10,    0,    0,    0}, /* toubyte: ToUByteTy(reg) = 23 */
03315   {   10,    0,    0,    0}, /* tosbyte: ToSByteTy(reg) = 24 */
03316   {   10,    0,    0,    0}, /* toushort: ToUShortTy(reg) = 25 */
03317   {   10,    0,    0,    0}, /* toshort: ToShortTy(reg) = 26 */
03318   {   10,    0,    0,    0}, /* touint: ToUIntTy(reg) = 27 */
03319   {   10,    0,    0,    0}, /* toint: ToIntTy(reg) = 28 */
03320   {   10,    0,    0,    0}, /* toulong: ToULongTy(reg) = 29 */
03321   {   10,    0,    0,    0}, /* tolong: ToLongTy(reg) = 30 */
03322   {   10,    0,    0,    0}, /* tofloat: ToFloatTy(reg) = 31 */
03323   {   10,    0,    0,    0}, /* todouble: ToDoubleTy(reg) = 32 */
03324   {   10,    0,    0,    0}, /* reg: Add(reg, reg) = 33 */
03325   {   10,    0,    0,    0}, /* reg: Sub(reg, reg) = 34 */
03326   {   30,    0,    0,    0}, /* reg: Mul(reg, reg) = 35 */
03327   {   60,    0,    0,    0}, /* reg: Div(reg, reg) = 36 */
03328   {   60,    0,    0,    0}, /* reg: Rem(reg, reg) = 37 */
03329   {   10,    0,    0,    0}, /* reg: And(reg, reg) = 38 */
03330   {   10,    0,    0,    0}, /* reg: Or(reg, reg) = 39 */
03331   {   10,    0,    0,    0}, /* reg: Xor(reg, reg) = 40 */
03332   {    5,    0,    0,    0}, /* setCCconst: SetCC(reg, Constant) = 41 */
03333   {   10,    0,    0,    0}, /* setCC: SetCC(reg, reg) = 42 */
03334   {    0,    0,    0,    0}, /* (none) = 43 */
03335   {    0,    0,    0,    0}, /* (none) = 44 */
03336   {    0,    0,    0,    0}, /* (none) = 45 */
03337   {    0,    0,    0,    0}, /* (none) = 46 */
03338   {    0,    0,    0,    0}, /* (none) = 47 */
03339   {    0,    0,    0,    0}, /* (none) = 48 */
03340   {    0,    0,    0,    0}, /* (none) = 49 */
03341   {    0,    0,    0,    0}, /* (none) = 50 */
03342   {   30,    0,    0,    0}, /* reg: Load(reg) = 51 */
03343   {   20,    0,    0,    0}, /* reg: Load(ptrreg) = 52 */
03344   {    0,    0,    0,    0}, /* (none) = 53 */
03345   {    0,    0,    0,    0}, /* (none) = 54 */
03346   {   10,    0,    0,    0}, /* ptrreg: GetElemPtr(reg) = 55 */
03347   {   10,    0,    0,    0}, /* ptrreg: GetElemPtrIdx(reg, reg) = 56 */
03348   {   10,    0,    0,    0}, /* reg: Alloca = 57 */
03349   {   10,    0,    0,    0}, /* reg: AllocaN(reg) = 58 */
03350   {    0,    0,    0,    0}, /* (none) = 59 */
03351   {    0,    0,    0,    0}, /* (none) = 60 */
03352   {   20,    0,    0,    0}, /* reg: Call = 61 */
03353   {   20,    0,    0,    0}, /* reg: Shl(reg, reg) = 62 */
03354   {   20,    0,    0,    0}, /* reg: Shr(reg, reg) = 63 */
03355   {    0,    0,    0,    0}, /* reg: Phi(reg, reg) = 64 */
03356   {    0,    0,    0,    0}, /* (none) = 65 */
03357   {   40,    0,    0,    0}, /* reg: VAArg(reg) = 66 */
03358   {    0,    0,    0,    0}, /* (none) = 67 */
03359   {    0,    0,    0,    0}, /* (none) = 68 */
03360   {    0,    0,    0,    0}, /* (none) = 69 */
03361   {    0,    0,    0,    0}, /* (none) = 70 */
03362   {    0,    0,    0,    0}, /* reg: VReg = 71 */
03363   {    3,    0,    0,    0}, /* reg: Constant = 72 */
03364   {    0,    0,    0,    0}, /* (none) = 73 */
03365   {    0,    0,    0,    0}, /* (none) = 74 */
03366   {    0,    0,    0,    0}, /* (none) = 75 */
03367   {    0,    0,    0,    0}, /* (none) = 76 */
03368   {    0,    0,    0,    0}, /* (none) = 77 */
03369   {    0,    0,    0,    0}, /* (none) = 78 */
03370   {    0,    0,    0,    0}, /* (none) = 79 */
03371   {    0,    0,    0,    0}, /* (none) = 80 */
03372   {    0,    0,    0,    0}, /* (none) = 81 */
03373   {    0,    0,    0,    0}, /* (none) = 82 */
03374   {    0,    0,    0,    0}, /* (none) = 83 */
03375   {    0,    0,    0,    0}, /* (none) = 84 */
03376   {    0,    0,    0,    0}, /* (none) = 85 */
03377   {    0,    0,    0,    0}, /* (none) = 86 */
03378   {    0,    0,    0,    0}, /* (none) = 87 */
03379   {    0,    0,    0,    0}, /* (none) = 88 */
03380   {    0,    0,    0,    0}, /* (none) = 89 */
03381   {    0,    0,    0,    0}, /* (none) = 90 */
03382   {    0,    0,    0,    0}, /* (none) = 91 */
03383   {    0,    0,    0,    0}, /* (none) = 92 */
03384   {    0,    0,    0,    0}, /* (none) = 93 */
03385   {    0,    0,    0,    0}, /* (none) = 94 */
03386   {    0,    0,    0,    0}, /* (none) = 95 */
03387   {    0,    0,    0,    0}, /* (none) = 96 */
03388   {    0,    0,    0,    0}, /* (none) = 97 */
03389   {    0,    0,    0,    0}, /* (none) = 98 */
03390   {    0,    0,    0,    0}, /* (none) = 99 */
03391   {    0,    0,    0,    0}, /* (none) = 100 */
03392   {    0,    0,    0,    0}, /* (none) = 101 */
03393   {    0,    0,    0,    0}, /* (none) = 102 */
03394   {    0,    0,    0,    0}, /* (none) = 103 */
03395   {    0,    0,    0,    0}, /* (none) = 104 */
03396   {    0,    0,    0,    0}, /* (none) = 105 */
03397   {    0,    0,    0,    0}, /* (none) = 106 */
03398   {    0,    0,    0,    0}, /* (none) = 107 */
03399   {    0,    0,    0,    0}, /* (none) = 108 */
03400   {    0,    0,    0,    0}, /* (none) = 109 */
03401   {    0,    0,    0,    0}, /* (none) = 110 */
03402   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03403   {    0,    0,    0,    0}, /* (none) = 112 */
03404   {    0,    0,    0,    0}, /* (none) = 113 */
03405   {    0,    0,    0,    0}, /* (none) = 114 */
03406   {    0,    0,    0,    0}, /* (none) = 115 */
03407   {    0,    0,    0,    0}, /* (none) = 116 */
03408   {    0,    0,    0,    0}, /* (none) = 117 */
03409   {    0,    0,    0,    0}, /* (none) = 118 */
03410   {    0,    0,    0,    0}, /* (none) = 119 */
03411   {    0,    0,    0,    0}, /* (none) = 120 */
03412   {    0,    0,    0,    0}, /* (none) = 121 */
03413   {    0,    0,    0,    0}, /* (none) = 122 */
03414   {    0,    0,    0,    0}, /* reg: toubyte = 123 */
03415   {    0,    0,    0,    0}, /* reg: tosbyte = 124 */
03416   {    0,    0,    0,    0}, /* reg: toushort = 125 */
03417   {    0,    0,    0,    0}, /* reg: toshort = 126 */
03418   {    0,    0,    0,    0}, /* reg: touint = 127 */
03419   {    0,    0,    0,    0}, /* reg: toint = 128 */
03420   {    0,    0,    0,    0}, /* reg: toulong = 129 */
03421   {    0,    0,    0,    0}, /* reg: tolong = 130 */
03422   {    0,    0,    0,    0}, /* reg: tofloat = 131 */
03423   {    0,    0,    0,    0}, /* reg: todouble = 132 */
03424   {    0,    0,    0,    0}, /* reg: todoubleConst = 133 */
03425   {    0,    0,    0,    0}, /* (none) = 134 */
03426   {   20,    0,    0,    0}, /* reg: Mul(todouble, todouble) = 135 */
03427   {    0,    0,    0,    0}, /* (none) = 136 */
03428   {    0,    0,    0,    0}, /* (none) = 137 */
03429   {    0,    0,    0,    0}, /* reg: And(reg, not) = 138 */
03430   {    0,    0,    0,    0}, /* reg: Or(reg, not) = 139 */
03431   {    0,    0,    0,    0}, /* reg: Xor(reg, not) = 140 */
03432   {    0,    0,    0,    0}, /* (none) = 141 */
03433   {    0,    0,    0,    0}, /* (none) = 142 */
03434   {    0,    0,    0,    0}, /* (none) = 143 */
03435   {    0,    0,    0,    0}, /* (none) = 144 */
03436   {    0,    0,    0,    0}, /* (none) = 145 */
03437   {    0,    0,    0,    0}, /* (none) = 146 */
03438   {    0,    0,    0,    0}, /* (none) = 147 */
03439   {    0,    0,    0,    0}, /* (none) = 148 */
03440   {    0,    0,    0,    0}, /* (none) = 149 */
03441   {    0,    0,    0,    0}, /* (none) = 150 */
03442   {    0,    0,    0,    0}, /* (none) = 151 */
03443   {    0,    0,    0,    0}, /* (none) = 152 */
03444   {    0,    0,    0,    0}, /* (none) = 153 */
03445   {    0,    0,    0,    0}, /* (none) = 154 */
03446   {    0,    0,    0,    0}, /* reg: ptrreg = 155 */
03447   {    0,    0,    0,    0}, /* (none) = 156 */
03448   {    0,    0,    0,    0}, /* (none) = 157 */
03449   {    0,    0,    0,    0}, /* (none) = 158 */
03450   {    0,    0,    0,    0}, /* (none) = 159 */
03451   {    0,    0,    0,    0}, /* (none) = 160 */
03452   {    0,    0,    0,    0}, /* (none) = 161 */
03453   {    0,    0,    0,    0}, /* (none) = 162 */
03454   {    0,    0,    0,    0}, /* (none) = 163 */
03455   {    0,    0,    0,    0}, /* (none) = 164 */
03456   {    0,    0,    0,    0}, /* (none) = 165 */
03457   {    0,    0,    0,    0}, /* (none) = 166 */
03458   {    0,    0,    0,    0}, /* (none) = 167 */
03459   {    0,    0,    0,    0}, /* (none) = 168 */
03460   {    0,    0,    0,    0}, /* (none) = 169 */
03461   {    0,    0,    0,    0}, /* (none) = 170 */
03462   {    0,    0,    0,    0}, /* (none) = 171 */
03463   {    0,    0,    0,    0}, /* (none) = 172 */
03464   {    0,    0,    0,    0}, /* (none) = 173 */
03465   {    0,    0,    0,    0}, /* (none) = 174 */
03466   {    0,    0,    0,    0}, /* (none) = 175 */
03467   {    0,    0,    0,    0}, /* (none) = 176 */
03468   {    0,    0,    0,    0}, /* (none) = 177 */
03469   {    0,    0,    0,    0}, /* (none) = 178 */
03470   {    0,    0,    0,    0}, /* (none) = 179 */
03471   {    0,    0,    0,    0}, /* (none) = 180 */
03472   {    0,    0,    0,    0}, /* (none) = 181 */
03473   {    0,    0,    0,    0}, /* (none) = 182 */
03474   {    0,    0,    0,    0}, /* (none) = 183 */
03475   {    0,    0,    0,    0}, /* (none) = 184 */
03476   {    0,    0,    0,    0}, /* (none) = 185 */
03477   {    0,    0,    0,    0}, /* (none) = 186 */
03478   {    0,    0,    0,    0}, /* (none) = 187 */
03479   {    0,    0,    0,    0}, /* (none) = 188 */
03480   {    0,    0,    0,    0}, /* (none) = 189 */
03481   {    0,    0,    0,    0}, /* (none) = 190 */
03482   {    0,    0,    0,    0}, /* (none) = 191 */
03483   {    0,    0,    0,    0}, /* (none) = 192 */
03484   {    0,    0,    0,    0}, /* (none) = 193 */
03485   {    0,    0,    0,    0}, /* (none) = 194 */
03486   {    0,    0,    0,    0}, /* (none) = 195 */
03487   {    0,    0,    0,    0}, /* (none) = 196 */
03488   {    0,    0,    0,    0}, /* (none) = 197 */
03489   {    0,    0,    0,    0}, /* (none) = 198 */
03490   {    0,    0,    0,    0}, /* (none) = 199 */
03491   {    0,    0,    0,    0}, /* (none) = 200 */
03492   {    0,    0,    0,    0}, /* (none) = 201 */
03493   {    0,    0,    0,    0}, /* (none) = 202 */
03494   {    0,    0,    0,    0}, /* (none) = 203 */
03495   {    0,    0,    0,    0}, /* (none) = 204 */
03496   {    0,    0,    0,    0}, /* (none) = 205 */
03497   {   10,    0,    0,    0}, /* stmt: BrCond(setCCconst) = 206 */
03498   {    0,    0,    0,    0}, /* (none) = 207 */
03499   {   20,    0,    0,    0}, /* stmt: BrCond(Constant) = 208 */
03500   {    0,    0,    0,    0}, /* (none) = 209 */
03501   {    0,    0,    0,    0}, /* (none) = 210 */
03502   {    0,    0,    0,    0}, /* (none) = 211 */
03503   {    0,    0,    0,    0}, /* (none) = 212 */
03504   {    0,    0,    0,    0}, /* (none) = 213 */
03505   {    0,    0,    0,    0}, /* (none) = 214 */
03506   {    0,    0,    0,    0}, /* (none) = 215 */
03507   {    0,    0,    0,    0}, /* (none) = 216 */
03508   {    0,    0,    0,    0}, /* (none) = 217 */
03509   {    0,    0,    0,    0}, /* (none) = 218 */
03510   {    0,    0,    0,    0}, /* (none) = 219 */
03511   {    0,    0,    0,    0}, /* (none) = 220 */
03512   {    0,    0,    0,    0}, /* reg: not = 221 */
03513   {    0,    0,    0,    0}, /* reg: tobool = 222 */
03514   {    0,    0,    0,    0}, /* (none) = 223 */
03515   {    0,    0,    0,    0}, /* (none) = 224 */
03516   {    0,    0,    0,    0}, /* (none) = 225 */
03517   {    0,    0,    0,    0}, /* (none) = 226 */
03518   {    0,    0,    0,    0}, /* (none) = 227 */
03519   {    0,    0,    0,    0}, /* (none) = 228 */
03520   {    0,    0,    0,    0}, /* (none) = 229 */
03521   {    0,    0,    0,    0}, /* (none) = 230 */
03522   {    0,    0,    0,    0}, /* (none) = 231 */
03523   {   10,    0,    0,    0}, /* todoubleConst: ToDoubleTy(Constant) = 232 */
03524   {   10,    0,    0,    0}, /* reg: Add(reg, Constant) = 233 */
03525   {   10,    0,    0,    0}, /* reg: Sub(reg, Constant) = 234 */
03526   {   30,    0,    0,    0}, /* reg: Mul(reg, Constant) = 235 */
03527   {   60,    0,    0,    0}, /* reg: Div(reg, Constant) = 236 */
03528   {   60,    0,    0,    0}, /* reg: Rem(reg, Constant) = 237 */
03529   {   10,    0,    0,    0}, /* reg: And(reg, Constant) = 238 */
03530   {   10,    0,    0,    0}, /* reg: Or(reg, Constant) = 239 */
03531   {   10,    0,    0,    0}, /* reg: Xor(reg, Constant) = 240 */
03532   {    0,    0,    0,    0}, /* reg: setCCconst = 241 */
03533   {    0,    0,    0,    0}, /* reg: setCC = 242 */
03534   {    0,    0,    0,    0}, /* (none) = 243 */
03535   {    0,    0,    0,    0}, /* (none) = 244 */
03536   {    0,    0,    0,    0}, /* (none) = 245 */
03537   {    0,    0,    0,    0}, /* (none) = 246 */
03538   {    0,    0,    0,    0}, /* (none) = 247 */
03539   {    0,    0,    0,    0}, /* (none) = 248 */
03540   {    0,    0,    0,    0}, /* (none) = 249 */
03541   {    0,    0,    0,    0}, /* (none) = 250 */
03542   {    0,    0,    0,    0}, /* (none) = 251 */
03543   {    0,    0,    0,    0}, /* (none) = 252 */
03544   {    0,    0,    0,    0}, /* (none) = 253 */
03545   {    0,    0,    0,    0}, /* (none) = 254 */
03546   {    0,    0,    0,    0}, /* (none) = 255 */
03547   {    0,    0,    0,    0}, /* (none) = 256 */
03548   {    0,    0,    0,    0}, /* (none) = 257 */
03549   {    0,    0,    0,    0}, /* (none) = 258 */
03550   {    0,    0,    0,    0}, /* (none) = 259 */
03551   {    0,    0,    0,    0}, /* (none) = 260 */
03552   {    0,    0,    0,    0}, /* (none) = 261 */
03553   {    0,    0,    0,    0}, /* (none) = 262 */
03554   {    0,    0,    0,    0}, /* (none) = 263 */
03555   {    0,    0,    0,    0}, /* (none) = 264 */
03556   {    0,    0,    0,    0}, /* (none) = 265 */
03557   {    0,    0,    0,    0}, /* (none) = 266 */
03558   {    0,    0,    0,    0}, /* (none) = 267 */
03559   {    0,    0,    0,    0}, /* (none) = 268 */
03560   {    0,    0,    0,    0}, /* (none) = 269 */
03561   {    0,    0,    0,    0}, /* (none) = 270 */
03562   {    0,    0,    0,    0}, /* (none) = 271 */
03563   {    0,    0,    0,    0}, /* (none) = 272 */
03564   {    0,    0,    0,    0}, /* (none) = 273 */
03565   {    0,    0,    0,    0}, /* (none) = 274 */
03566   {    0,    0,    0,    0}, /* (none) = 275 */
03567   {    0,    0,    0,    0}, /* (none) = 276 */
03568   {    0,    0,    0,    0}, /* (none) = 277 */
03569   {    0,    0,    0,    0}, /* (none) = 278 */
03570   {    0,    0,    0,    0}, /* (none) = 279 */
03571   {    0,    0,    0,    0}, /* (none) = 280 */
03572   {    0,    0,    0,    0}, /* (none) = 281 */
03573   {    0,    0,    0,    0}, /* (none) = 282 */
03574   {    0,    0,    0,    0}, /* (none) = 283 */
03575   {    0,    0,    0,    0}, /* (none) = 284 */
03576   {    0,    0,    0,    0}, /* (none) = 285 */
03577   {    0,    0,    0,    0}, /* (none) = 286 */
03578   {    0,    0,    0,    0}, /* (none) = 287 */
03579   {    0,    0,    0,    0}, /* (none) = 288 */
03580   {    0,    0,    0,    0}, /* (none) = 289 */
03581   {    0,    0,    0,    0}, /* (none) = 290 */
03582   {    0,    0,    0,    0}, /* (none) = 291 */
03583   {    0,    0,    0,    0}, /* (none) = 292 */
03584   {    0,    0,    0,    0}, /* (none) = 293 */
03585   {    0,    0,    0,    0}, /* (none) = 294 */
03586   {    0,    0,    0,    0}, /* (none) = 295 */
03587   {    0,    0,    0,    0}, /* (none) = 296 */
03588   {    0,    0,    0,    0}, /* (none) = 297 */
03589   {    0,    0,    0,    0}, /* (none) = 298 */
03590   {    0,    0,    0,    0}, /* (none) = 299 */
03591   {    0,    0,    0,    0}, /* (none) = 300 */
03592   {    0,    0,    0,    0}, /* (none) = 301 */
03593   {    0,    0,    0,    0}, /* (none) = 302 */
03594   {    0,    0,    0,    0}, /* (none) = 303 */
03595   {    0,    0,    0,    0}, /* (none) = 304 */
03596   {    0,    0,    0,    0}, /* (none) = 305 */
03597   {    0,    0,    0,    0}, /* (none) = 306 */
03598   {    0,    0,    0,    0}, /* (none) = 307 */
03599   {    0,    0,    0,    0}, /* (none) = 308 */
03600   {    0,    0,    0,    0}, /* (none) = 309 */
03601   {    0,    0,    0,    0}, /* (none) = 310 */
03602   {    0,    0,    0,    0}, /* (none) = 311 */
03603   {    0,    0,    0,    0}, /* (none) = 312 */
03604   {    0,    0,    0,    0}, /* (none) = 313 */
03605   {    0,    0,    0,    0}, /* (none) = 314 */
03606   {    0,    0,    0,    0}, /* (none) = 315 */
03607   {    0,    0,    0,    0}, /* (none) = 316 */
03608   {    0,    0,    0,    0}, /* (none) = 317 */
03609   {    0,    0,    0,    0}, /* (none) = 318 */
03610   {    0,    0,    0,    0}, /* (none) = 319 */
03611   {    0,    0,    0,    0}, /* (none) = 320 */
03612   {    0,    0,    0,    0}, /* reg: bnot = 321 */
03613   {   10,    0,    0,    0}, /* not: Not(tobool, reg) = 322 */
03614   {    0,    0,    0,    0}, /* (none) = 323 */
03615   {    0,    0,    0,    0}, /* (none) = 324 */
03616   {    0,    0,    0,    0}, /* (none) = 325 */
03617   {    0,    0,    0,    0}, /* (none) = 326 */
03618   {    0,    0,    0,    0}, /* (none) = 327 */
03619   {    0,    0,    0,    0}, /* (none) = 328 */
03620   {    0,    0,    0,    0}, /* (none) = 329 */
03621   {    0,    0,    0,    0}, /* (none) = 330 */
03622   {    0,    0,    0,    0}, /* (none) = 331 */
03623   {    0,    0,    0,    0}, /* (none) = 332 */
03624   {    0,    0,    0,    0}, /* (none) = 333 */
03625   {    0,    0,    0,    0}, /* (none) = 334 */
03626   {   20,    0,    0,    0}, /* reg: Mul(todouble, todoubleConst) = 335 */
03627   {    0,    0,    0,    0}, /* (none) = 336 */
03628   {    0,    0,    0,    0}, /* (none) = 337 */
03629   {   10,    0,    0,    0}, /* reg: BAnd(reg, reg) = 338 */
03630   {   10,    0,    0,    0}, /* reg: BOr(reg, reg) = 339 */
03631   {   10,    0,    0,    0}, /* reg: BXor(reg, reg) = 340 */
03632   {    0,    0,    0,    0}, /* (none) = 341 */
03633   {    0,    0,    0,    0}, /* (none) = 342 */
03634   {    0,    0,    0,    0}, /* (none) = 343 */
03635   {    0,    0,    0,    0}, /* (none) = 344 */
03636   {    0,    0,    0,    0}, /* (none) = 345 */
03637   {    0,    0,    0,    0}, /* (none) = 346 */
03638   {    0,    0,    0,    0}, /* (none) = 347 */
03639   {    0,    0,    0,    0}, /* (none) = 348 */
03640   {    0,    0,    0,    0}, /* (none) = 349 */
03641   {    0,    0,    0,    0}, /* (none) = 350 */
03642   {    0,    0,    0,    0}, /* (none) = 351 */
03643   {    0,    0,    0,    0}, /* (none) = 352 */
03644   {    0,    0,    0,    0}, /* (none) = 353 */
03645   {    0,    0,    0,    0}, /* (none) = 354 */
03646   {    0,    0,    0,    0}, /* (none) = 355 */
03647   {    0,    0,    0,    0}, /* (none) = 356 */
03648   {    0,    0,    0,    0}, /* (none) = 357 */
03649   {    0,    0,    0,    0}, /* (none) = 358 */
03650   {    0,    0,    0,    0}, /* (none) = 359 */
03651   {    0,    0,    0,    0}, /* (none) = 360 */
03652   {    0,    0,    0,    0}, /* (none) = 361 */
03653   {    0,    0,    0,    0}, /* (none) = 362 */
03654   {    0,    0,    0,    0}, /* (none) = 363 */
03655   {    0,    0,    0,    0}, /* (none) = 364 */
03656   {    0,    0,    0,    0}, /* (none) = 365 */
03657   {    0,    0,    0,    0}, /* (none) = 366 */
03658   {    0,    0,    0,    0}, /* (none) = 367 */
03659   {    0,    0,    0,    0}, /* (none) = 368 */
03660   {    0,    0,    0,    0}, /* (none) = 369 */
03661   {    0,    0,    0,    0}, /* (none) = 370 */
03662   {    0,    0,    0,    0}, /* (none) = 371 */
03663   {    0,    0,    0,    0}, /* (none) = 372 */
03664   {    0,    0,    0,    0}, /* (none) = 373 */
03665   {    0,    0,    0,    0}, /* (none) = 374 */
03666   {    0,    0,    0,    0}, /* (none) = 375 */
03667   {    0,    0,    0,    0}, /* (none) = 376 */
03668   {    0,    0,    0,    0}, /* (none) = 377 */
03669   {    0,    0,    0,    0}, /* (none) = 378 */
03670   {    0,    0,    0,    0}, /* (none) = 379 */
03671   {    0,    0,    0,    0}, /* (none) = 380 */
03672   {    0,    0,    0,    0}, /* (none) = 381 */
03673   {    0,    0,    0,    0}, /* (none) = 382 */
03674   {    0,    0,    0,    0}, /* (none) = 383 */
03675   {    0,    0,    0,    0}, /* (none) = 384 */
03676   {    0,    0,    0,    0}, /* (none) = 385 */
03677   {    0,    0,    0,    0}, /* (none) = 386 */
03678   {    0,    0,    0,    0}, /* (none) = 387 */
03679   {    0,    0,    0,    0}, /* (none) = 388 */
03680   {    0,    0,    0,    0}, /* (none) = 389 */
03681   {    0,    0,    0,    0}, /* (none) = 390 */
03682   {    0,    0,    0,    0}, /* (none) = 391 */
03683   {    0,    0,    0,    0}, /* (none) = 392 */
03684   {    0,    0,    0,    0}, /* (none) = 393 */
03685   {    0,    0,    0,    0}, /* (none) = 394 */
03686   {    0,    0,    0,    0}, /* (none) = 395 */
03687   {    0,    0,    0,    0}, /* (none) = 396 */
03688   {    0,    0,    0,    0}, /* (none) = 397 */
03689   {    0,    0,    0,    0}, /* (none) = 398 */
03690   {    0,    0,    0,    0}, /* (none) = 399 */
03691   {    0,    0,    0,    0}, /* (none) = 400 */
03692   {    0,    0,    0,    0}, /* (none) = 401 */
03693   {    0,    0,    0,    0}, /* (none) = 402 */
03694   {    0,    0,    0,    0}, /* (none) = 403 */
03695   {    0,    0,    0,    0}, /* (none) = 404 */
03696   {    0,    0,    0,    0}, /* (none) = 405 */
03697   {    0,    0,    0,    0}, /* (none) = 406 */
03698   {    0,    0,    0,    0}, /* (none) = 407 */
03699   {    0,    0,    0,    0}, /* (none) = 408 */
03700   {    0,    0,    0,    0}, /* (none) = 409 */
03701   {    0,    0,    0,    0}, /* (none) = 410 */
03702   {    0,    0,    0,    0}, /* (none) = 411 */
03703   {    0,    0,    0,    0}, /* (none) = 412 */
03704   {    0,    0,    0,    0}, /* (none) = 413 */
03705   {    0,    0,    0,    0}, /* (none) = 414 */
03706   {    0,    0,    0,    0}, /* (none) = 415 */
03707   {    0,    0,    0,    0}, /* (none) = 416 */
03708   {    0,    0,    0,    0}, /* (none) = 417 */
03709   {    0,    0,    0,    0}, /* (none) = 418 */
03710   {    0,    0,    0,    0}, /* (none) = 419 */
03711   {    0,    0,    0,    0}, /* (none) = 420 */
03712   {   10,    0,    0,    0}, /* bnot: BNot(reg, reg) = 421 */
03713   {    0,    0,    0,    0}, /* (none) = 422 */
03714   {    0,    0,    0,    0}, /* (none) = 423 */
03715   {    0,    0,    0,    0}, /* (none) = 424 */
03716   {    0,    0,    0,    0}, /* (none) = 425 */
03717   {    0,    0,    0,    0}, /* (none) = 426 */
03718   {    0,    0,    0,    0}, /* (none) = 427 */
03719   {    0,    0,    0,    0}, /* (none) = 428 */
03720   {    0,    0,    0,    0}, /* (none) = 429 */
03721   {    0,    0,    0,    0}, /* (none) = 430 */
03722   {    0,    0,    0,    0}, /* (none) = 431 */
03723   {    0,    0,    0,    0}, /* (none) = 432 */
03724   {    0,    0,    0,    0}, /* (none) = 433 */
03725   {    0,    0,    0,    0}, /* (none) = 434 */
03726   {    0,    0,    0,    0}, /* (none) = 435 */
03727   {    0,    0,    0,    0}, /* (none) = 436 */
03728   {    0,    0,    0,    0}, /* (none) = 437 */
03729   {    0,    0,    0,    0}, /* reg: BAnd(reg, bnot) = 438 */
03730   {    0,    0,    0,    0}, /* reg: BOr(reg, bnot) = 439 */
03731   {    0,    0,    0,    0}, /* reg: BXor(reg, bnot) = 440 */
03732   {    0,    0,    0,    0}, /* (none) = 441 */
03733   {    0,    0,    0,    0}, /* (none) = 442 */
03734   {    0,    0,    0,    0}, /* (none) = 443 */
03735   {    0,    0,    0,    0}, /* (none) = 444 */
03736   {    0,    0,    0,    0}, /* (none) = 445 */
03737   {    0,    0,    0,    0}, /* (none) = 446 */
03738   {    0,    0,    0,    0}, /* (none) = 447 */
03739   {    0,    0,    0,    0}, /* (none) = 448 */
03740   {    0,    0,    0,    0}, /* (none) = 449 */
03741   {    0,    0,    0,    0}, /* (none) = 450 */
03742   {    0,    0,    0,    0}, /* (none) = 451 */
03743   {    0,    0,    0,    0}, /* (none) = 452 */
03744   {    0,    0,    0,    0}, /* (none) = 453 */
03745   {    0,    0,    0,    0}, /* (none) = 454 */
03746   {    0,    0,    0,    0}, /* (none) = 455 */
03747   {    0,    0,    0,    0}, /* (none) = 456 */
03748   {    0,    0,    0,    0}, /* (none) = 457 */
03749   {    0,    0,    0,    0}, /* (none) = 458 */
03750   {    0,    0,    0,    0}, /* (none) = 459 */
03751   {    0,    0,    0,    0}, /* (none) = 460 */
03752   {    0,    0,    0,    0}, /* (none) = 461 */
03753   {    0,    0,    0,    0}, /* (none) = 462 */
03754   {    0,    0,    0,    0}, /* (none) = 463 */
03755   {    0,    0,    0,    0}, /* (none) = 464 */
03756   {    0,    0,    0,    0}, /* (none) = 465 */
03757   {    0,    0,    0,    0}, /* (none) = 466 */
03758   {    0,    0,    0,    0}, /* (none) = 467 */
03759   {    0,    0,    0,    0}, /* (none) = 468 */
03760   {    0,    0,    0,    0}, /* (none) = 469 */
03761   {    0,    0,    0,    0}, /* (none) = 470 */
03762   {    0,    0,    0,    0}, /* (none) = 471 */
03763   {    0,    0,    0,    0}, /* (none) = 472 */
03764   {    0,    0,    0,    0}, /* (none) = 473 */
03765   {    0,    0,    0,    0}, /* (none) = 474 */
03766   {    0,    0,    0,    0}, /* (none) = 475 */
03767   {    0,    0,    0,    0}, /* (none) = 476 */
03768   {    0,    0,    0,    0}, /* (none) = 477 */
03769   {    0,    0,    0,    0}, /* (none) = 478 */
03770   {    0,    0,    0,    0}, /* (none) = 479 */
03771   {    0,    0,    0,    0}, /* (none) = 480 */
03772   {    0,    0,    0,    0}, /* (none) = 481 */
03773   {    0,    0,    0,    0}, /* (none) = 482 */
03774   {    0,    0,    0,    0}, /* (none) = 483 */
03775   {    0,    0,    0,    0}, /* (none) = 484 */
03776   {    0,    0,    0,    0}, /* (none) = 485 */
03777   {    0,    0,    0,    0}, /* (none) = 486 */
03778   {    0,    0,    0,    0}, /* (none) = 487 */
03779   {    0,    0,    0,    0}, /* (none) = 488 */
03780   {    0,    0,    0,    0}, /* (none) = 489 */
03781   {    0,    0,    0,    0}, /* (none) = 490 */
03782   {    0,    0,    0,    0}, /* (none) = 491 */
03783   {    0,    0,    0,    0}, /* (none) = 492 */
03784   {    0,    0,    0,    0}, /* (none) = 493 */
03785   {    0,    0,    0,    0}, /* (none) = 494 */
03786   {    0,    0,    0,    0}, /* (none) = 495 */
03787   {    0,    0,    0,    0}, /* (none) = 496 */
03788   {    0,    0,    0,    0}, /* (none) = 497 */
03789   {    0,    0,    0,    0}, /* (none) = 498 */
03790   {    0,    0,    0,    0}, /* (none) = 499 */
03791   {    0,    0,    0,    0}, /* (none) = 500 */
03792   {    0,    0,    0,    0}, /* (none) = 501 */
03793   {    0,    0,    0,    0}, /* (none) = 502 */
03794   {    0,    0,    0,    0}, /* (none) = 503 */
03795   {    0,    0,    0,    0}, /* (none) = 504 */
03796   {    0,    0,    0,    0}, /* (none) = 505 */
03797   {    0,    0,    0,    0}, /* (none) = 506 */
03798   {    0,    0,    0,    0}, /* (none) = 507 */
03799   {    0,    0,    0,    0}, /* (none) = 508 */
03800   {    0,    0,    0,    0}, /* (none) = 509 */
03801   {    0,    0,    0,    0}, /* (none) = 510 */
03802   {    0,    0,    0,    0}, /* (none) = 511 */
03803   {    0,    0,    0,    0}, /* (none) = 512 */
03804   {    0,    0,    0,    0}, /* (none) = 513 */
03805   {    0,    0,    0,    0}, /* (none) = 514 */
03806   {    0,    0,    0,    0}, /* (none) = 515 */
03807   {    0,    0,    0,    0}, /* (none) = 516 */
03808   {    0,    0,    0,    0}, /* (none) = 517 */
03809   {    0,    0,    0,    0}, /* (none) = 518 */
03810   {    0,    0,    0,    0}, /* (none) = 519 */
03811   {    0,    0,    0,    0}, /* (none) = 520 */
03812   {    0,    0,    0,    0}, /* (none) = 521 */
03813   {    0,    0,    0,    0}, /* (none) = 522 */
03814   {    0,    0,    0,    0}, /* (none) = 523 */
03815   {    0,    0,    0,    0}, /* (none) = 524 */
03816   {    0,    0,    0,    0}, /* (none) = 525 */
03817   {    0,    0,    0,    0}, /* (none) = 526 */
03818   {    0,    0,    0,    0}, /* (none) = 527 */
03819   {    0,    0,    0,    0}, /* (none) = 528 */
03820   {    0,    0,    0,    0}, /* (none) = 529 */
03821   {    0,    0,    0,    0}, /* (none) = 530 */
03822   {    0,    0,    0,    0}, /* (none) = 531 */
03823   {    0,    0,    0,    0}, /* (none) = 532 */
03824   {    0,    0,    0,    0}, /* (none) = 533 */
03825   {    0,    0,    0,    0}, /* (none) = 534 */
03826   {    0,    0,    0,    0}, /* (none) = 535 */
03827   {    0,    0,    0,    0}, /* (none) = 536 */
03828   {    0,    0,    0,    0}, /* (none) = 537 */
03829   {    0,    0,    0,    0}, /* reg: BAnd(reg, Constant) = 538 */
03830   {    0,    0,    0,    0}, /* reg: BOr(reg, Constant) = 539 */
03831   {    0,    0,    0,    0}, /* reg: BXor(reg, Constant) = 540 */
03832 };
03833 
03834 short burm_delta_cost[72][20][4] = {
03835 {{0}}, /* state 0 */
03836 { /* state #1: Add(VReg, VReg) */
03837   {0},
03838   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03839   {    0,    0,    0,    0}, /* reg: Add(reg, reg) = 33 */
03840   {    0,    0,    0,    0}, /* (none) */
03841   {    0,    0,    0,    0}, /* (none) */
03842   {    0,    0,    0,    0}, /* (none) */
03843   {    0,    0,    0,    0}, /* (none) */
03844   {    0,    0,    0,    0}, /* (none) */
03845   {    0,    0,    0,    0}, /* (none) */
03846   {    0,    0,    0,    0}, /* (none) */
03847   {    0,    0,    0,    0}, /* (none) */
03848   {    0,    0,    0,    0}, /* (none) */
03849   {    0,    0,    0,    0}, /* (none) */
03850   {    0,    0,    0,    0}, /* (none) */
03851   {    0,    0,    0,    0}, /* (none) */
03852   {    0,    0,    0,    0}, /* (none) */
03853   {    0,    0,    0,    0}, /* (none) */
03854   {    0,    0,    0,    0}, /* (none) */
03855   {    0,    0,    0,    0}, /* (none) */
03856   {    0,    0,    0,    0}, /* (none) */
03857 },
03858 { /* state #2: Add(VReg, Constant) */
03859   {0},
03860   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03861   {    0,    0,    0,    0}, /* reg: Add(reg, Constant) = 233 */
03862   {    0,    0,    0,    0}, /* (none) */
03863   {    0,    0,    0,    0}, /* (none) */
03864   {    0,    0,    0,    0}, /* (none) */
03865   {    0,    0,    0,    0}, /* (none) */
03866   {    0,    0,    0,    0}, /* (none) */
03867   {    0,    0,    0,    0}, /* (none) */
03868   {    0,    0,    0,    0}, /* (none) */
03869   {    0,    0,    0,    0}, /* (none) */
03870   {    0,    0,    0,    0}, /* (none) */
03871   {    0,    0,    0,    0}, /* (none) */
03872   {    0,    0,    0,    0}, /* (none) */
03873   {    0,    0,    0,    0}, /* (none) */
03874   {    0,    0,    0,    0}, /* (none) */
03875   {    0,    0,    0,    0}, /* (none) */
03876   {    0,    0,    0,    0}, /* (none) */
03877   {    0,    0,    0,    0}, /* (none) */
03878   {    0,    0,    0,    0}, /* (none) */
03879 },
03880 { /* state #3: Alloca */
03881   {0},
03882   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03883   {    0,    0,    0,    0}, /* reg: Alloca = 57 */
03884   {    0,    0,    0,    0}, /* (none) */
03885   {    0,    0,    0,    0}, /* (none) */
03886   {    0,    0,    0,    0}, /* (none) */
03887   {    0,    0,    0,    0}, /* (none) */
03888   {    0,    0,    0,    0}, /* (none) */
03889   {    0,    0,    0,    0}, /* (none) */
03890   {    0,    0,    0,    0}, /* (none) */
03891   {    0,    0,    0,    0}, /* (none) */
03892   {    0,    0,    0,    0}, /* (none) */
03893   {    0,    0,    0,    0}, /* (none) */
03894   {    0,    0,    0,    0}, /* (none) */
03895   {    0,    0,    0,    0}, /* (none) */
03896   {    0,    0,    0,    0}, /* (none) */
03897   {    0,    0,    0,    0}, /* (none) */
03898   {    0,    0,    0,    0}, /* (none) */
03899   {    0,    0,    0,    0}, /* (none) */
03900   {    0,    0,    0,    0}, /* (none) */
03901 },
03902 { /* state #4: AllocaN(VReg) */
03903   {0},
03904   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03905   {    0,    0,    0,    0}, /* reg: AllocaN(reg) = 58 */
03906   {    0,    0,    0,    0}, /* (none) */
03907   {    0,    0,    0,    0}, /* (none) */
03908   {    0,    0,    0,    0}, /* (none) */
03909   {    0,    0,    0,    0}, /* (none) */
03910   {    0,    0,    0,    0}, /* (none) */
03911   {    0,    0,    0,    0}, /* (none) */
03912   {    0,    0,    0,    0}, /* (none) */
03913   {    0,    0,    0,    0}, /* (none) */
03914   {    0,    0,    0,    0}, /* (none) */
03915   {    0,    0,    0,    0}, /* (none) */
03916   {    0,    0,    0,    0}, /* (none) */
03917   {    0,    0,    0,    0}, /* (none) */
03918   {    0,    0,    0,    0}, /* (none) */
03919   {    0,    0,    0,    0}, /* (none) */
03920   {    0,    0,    0,    0}, /* (none) */
03921   {    0,    0,    0,    0}, /* (none) */
03922   {    0,    0,    0,    0}, /* (none) */
03923 },
03924 { /* state #5: And(VReg, VReg) */
03925   {0},
03926   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03927   {    0,    0,    0,    0}, /* reg: And(reg, reg) = 38 */
03928   {    0,    0,    0,    0}, /* (none) */
03929   {    0,    0,    0,    0}, /* (none) */
03930   {    0,    0,    0,    0}, /* (none) */
03931   {    0,    0,    0,    0}, /* (none) */
03932   {    0,    0,    0,    0}, /* (none) */
03933   {    0,    0,    0,    0}, /* (none) */
03934   {    0,    0,    0,    0}, /* (none) */
03935   {    0,    0,    0,    0}, /* (none) */
03936   {    0,    0,    0,    0}, /* (none) */
03937   {    0,    0,    0,    0}, /* (none) */
03938   {    0,    0,    0,    0}, /* (none) */
03939   {    0,    0,    0,    0}, /* (none) */
03940   {    0,    0,    0,    0}, /* (none) */
03941   {    0,    0,    0,    0}, /* (none) */
03942   {    0,    0,    0,    0}, /* (none) */
03943   {    0,    0,    0,    0}, /* (none) */
03944   {    0,    0,    0,    0}, /* (none) */
03945 },
03946 { /* state #6: And(VReg, Constant) */
03947   {0},
03948   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03949   {    0,    0,    0,    0}, /* reg: And(reg, Constant) = 238 */
03950   {    0,    0,    0,    0}, /* (none) */
03951   {    0,    0,    0,    0}, /* (none) */
03952   {    0,    0,    0,    0}, /* (none) */
03953   {    0,    0,    0,    0}, /* (none) */
03954   {    0,    0,    0,    0}, /* (none) */
03955   {    0,    0,    0,    0}, /* (none) */
03956   {    0,    0,    0,    0}, /* (none) */
03957   {    0,    0,    0,    0}, /* (none) */
03958   {    0,    0,    0,    0}, /* (none) */
03959   {    0,    0,    0,    0}, /* (none) */
03960   {    0,    0,    0,    0}, /* (none) */
03961   {    0,    0,    0,    0}, /* (none) */
03962   {    0,    0,    0,    0}, /* (none) */
03963   {    0,    0,    0,    0}, /* (none) */
03964   {    0,    0,    0,    0}, /* (none) */
03965   {    0,    0,    0,    0}, /* (none) */
03966   {    0,    0,    0,    0}, /* (none) */
03967 },
03968 { /* state #7: And(VReg, Not(VReg, VReg)) */
03969   {0},
03970   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03971   {    0,    0,    0,    0}, /* reg: And(reg, not) = 138 */
03972   {    0,    0,    0,    0}, /* (none) */
03973   {    0,    0,    0,    0}, /* (none) */
03974   {    0,    0,    0,    0}, /* (none) */
03975   {    0,    0,    0,    0}, /* (none) */
03976   {    0,    0,    0,    0}, /* (none) */
03977   {    0,    0,    0,    0}, /* (none) */
03978   {    0,    0,    0,    0}, /* (none) */
03979   {    0,    0,    0,    0}, /* (none) */
03980   {    0,    0,    0,    0}, /* (none) */
03981   {    0,    0,    0,    0}, /* (none) */
03982   {    0,    0,    0,    0}, /* (none) */
03983   {    0,    0,    0,    0}, /* (none) */
03984   {    0,    0,    0,    0}, /* (none) */
03985   {    0,    0,    0,    0}, /* (none) */
03986   {    0,    0,    0,    0}, /* (none) */
03987   {    0,    0,    0,    0}, /* (none) */
03988   {    0,    0,    0,    0}, /* (none) */
03989 },
03990 { /* state #8: BAnd(VReg, VReg) */
03991   {0},
03992   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03993   {    0,    0,    0,    0}, /* reg: BAnd(reg, reg) = 338 */
03994   {    0,    0,    0,    0}, /* (none) */
03995   {    0,    0,    0,    0}, /* (none) */
03996   {    0,    0,    0,    0}, /* (none) */
03997   {    0,    0,    0,    0}, /* (none) */
03998   {    0,    0,    0,    0}, /* (none) */
03999   {    0,    0,    0,    0}, /* (none) */
04000   {    0,    0,    0,    0}, /* (none) */
04001   {    0,    0,    0,    0}, /* (none) */
04002   {    0,    0,    0,    0}, /* (none) */
04003   {    0,    0,    0,    0}, /* (none) */
04004   {    0,    0,    0,    0}, /* (none) */
04005   {    0,    0,    0,    0}, /* (none) */
04006   {    0,    0,    0,    0}, /* (none) */
04007   {    0,    0,    0,    0}, /* (none) */
04008   {    0,    0,    0,    0}, /* (none) */
04009   {    0,    0,    0,    0}, /* (none) */
04010   {    0,    0,    0,    0}, /* (none) */
04011 },
04012 { /* state #9: BAnd(VReg, Constant) */
04013   {0},
04014   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04015   {    0,    0,    0,    0}, /* reg: BAnd(reg, Constant) = 538 */
04016   {    0,    0,    0,    0}, /* (none) */
04017   {    0,    0,    0,    0}, /* (none) */
04018   {    0,    0,    0,    0}, /* (none) */
04019   {    0,    0,    0,    0}, /* (none) */
04020   {    0,    0,    0,    0}, /* (none) */
04021   {    0,    0,    0,    0}, /* (none) */
04022   {    0,    0,    0,    0}, /* (none) */
04023   {    0,    0,    0,    0}, /* (none) */
04024   {    0,    0,    0,    0}, /* (none) */
04025   {    0,    0,    0,    0}, /* (none) */
04026   {    0,    0,    0,    0}, /* (none) */
04027   {    0,    0,    0,    0}, /* (none) */
04028   {    0,    0,    0,    0}, /* (none) */
04029   {    0,    0,    0,    0}, /* (none) */
04030   {    0,    0,    0,    0}, /* (none) */
04031   {    0,    0,    0,    0}, /* (none) */
04032   {    0,    0,    0,    0}, /* (none) */
04033 },
04034 { /* state #10: BAnd(VReg, BNot(VReg, VReg)) */
04035   {0},
04036   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04037   {    0,    0,    0,    0}, /* reg: BAnd(reg, bnot) = 438 */
04038   {    0,    0,    0,    0}, /* (none) */
04039   {    0,    0,    0,    0}, /* (none) */
04040   {    0,    0,    0,    0}, /* (none) */
04041   {    0,    0,    0,    0}, /* (none) */
04042   {    0,    0,    0,    0}, /* (none) */
04043   {    0,    0,    0,    0}, /* (none) */
04044   {    0,    0,    0,    0}, /* (none) */
04045   {    0,    0,    0,    0}, /* (none) */
04046   {    0,    0,    0,    0}, /* (none) */
04047   {    0,    0,    0,    0}, /* (none) */
04048   {    0,    0,    0,    0}, /* (none) */
04049   {    0,    0,    0,    0}, /* (none) */
04050   {    0,    0,    0,    0}, /* (none) */
04051   {    0,    0,    0,    0}, /* (none) */
04052   {    0,    0,    0,    0}, /* (none) */
04053   {    0,    0,    0,    0}, /* (none) */
04054   {    0,    0,    0,    0}, /* (none) */
04055 },
04056 { /* state #11: BNot(VReg, VReg) */
04057   {0},
04058   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04059   {    0,    0,    0,    0}, /* reg: bnot = 321 */
04060   {    0,    0,    0,    0}, /* (none) */
04061   {    0,    0,    0,    0}, /* (none) */
04062   {    0,    0,    0,    0}, /* (none) */
04063   {    0,    0,    0,    0}, /* (none) */
04064   {    0,    0,    0,    0}, /* (none) */
04065   {    0,    0,    0,    0}, /* (none) */
04066   {    0,    0,    0,    0}, /* (none) */
04067   {    0,    0,    0,    0}, /* (none) */
04068   {    0,    0,    0,    0}, /* (none) */
04069   {    0,    0,    0,    0}, /* (none) */
04070   {    0,    0,    0,    0}, /* (none) */
04071   {    0,    0,    0,    0}, /* (none) */
04072   {    0,    0,    0,    0}, /* (none) */
04073   {    0,    0,    0,    0}, /* (none) */
04074   {    0,    0,    0,    0}, /* (none) */
04075   {    0,    0,    0,    0}, /* bnot: BNot(reg, reg) = 421 */
04076   {    0,    0,    0,    0}, /* (none) */
04077 },
04078 { /* state #12: BOr(VReg, VReg) */
04079   {0},
04080   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04081   {    0,    0,    0,    0}, /* reg: BOr(reg, reg) = 339 */
04082   {    0,    0,    0,    0}, /* (none) */
04083   {    0,    0,    0,    0}, /* (none) */
04084   {    0,    0,    0,    0}, /* (none) */
04085   {    0,    0,    0,    0}, /* (none) */
04086   {    0,    0,    0,    0}, /* (none) */
04087   {    0,    0,    0,    0}, /* (none) */
04088   {    0,    0,    0,    0}, /* (none) */
04089   {    0,    0,    0,    0}, /* (none) */
04090   {    0,    0,    0,    0}, /* (none) */
04091   {    0,    0,    0,    0}, /* (none) */
04092   {    0,    0,    0,    0}, /* (none) */
04093   {    0,    0,    0,    0}, /* (none) */
04094   {    0,    0,    0,    0}, /* (none) */
04095   {    0,    0,    0,    0}, /* (none) */
04096   {    0,    0,    0,    0}, /* (none) */
04097   {    0,    0,    0,    0}, /* (none) */
04098   {    0,    0,    0,    0}, /* (none) */
04099 },
04100 { /* state #13: BOr(VReg, Constant) */
04101   {0},
04102   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04103   {    0,    0,    0,    0}, /* reg: BOr(reg, Constant) = 539 */
04104   {    0,    0,    0,    0}, /* (none) */
04105   {    0,    0,    0,    0}, /* (none) */
04106   {    0,    0,    0,    0}, /* (none) */
04107   {    0,    0,    0,    0}, /* (none) */
04108   {    0,    0,    0,    0}, /* (none) */
04109   {    0,    0,    0,    0}, /* (none) */
04110   {    0,    0,    0,    0}, /* (none) */
04111   {    0,    0,    0,    0}, /* (none) */
04112   {    0,    0,    0,    0}, /* (none) */
04113   {    0,    0,    0,    0}, /* (none) */
04114   {    0,    0,    0,    0}, /* (none) */
04115   {    0,    0,    0,    0}, /* (none) */
04116   {    0,    0,    0,    0}, /* (none) */
04117   {    0,    0,    0,    0}, /* (none) */
04118   {    0,    0,    0,    0}, /* (none) */
04119   {    0,    0,    0,    0}, /* (none) */
04120   {    0,    0,    0,    0}, /* (none) */
04121 },
04122 { /* state #14: BOr(VReg, BNot(VReg, VReg)) */
04123   {0},
04124   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04125   {    0,    0,    0,    0}, /* reg: BOr(reg, bnot) = 439 */
04126   {    0,    0,    0,    0}, /* (none) */
04127   {    0,    0,    0,    0}, /* (none) */
04128   {    0,    0,    0,    0}, /* (none) */
04129   {    0,    0,    0,    0}, /* (none) */
04130   {    0,    0,    0,    0}, /* (none) */
04131   {    0,    0,    0,    0}, /* (none) */
04132   {    0,    0,    0,    0}, /* (none) */
04133   {    0,    0,    0,    0}, /* (none) */
04134   {    0,    0,    0,    0}, /* (none) */
04135   {    0,    0,    0,    0}, /* (none) */
04136   {    0,    0,    0,    0}, /* (none) */
04137   {    0,    0,    0,    0}, /* (none) */
04138   {    0,    0,    0,    0}, /* (none) */
04139   {    0,    0,    0,    0}, /* (none) */
04140   {    0,    0,    0,    0}, /* (none) */
04141   {    0,    0,    0,    0}, /* (none) */
04142   {    0,    0,    0,    0}, /* (none) */
04143 },
04144 { /* state #15: BXor(VReg, VReg) */
04145   {0},
04146   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04147   {    0,    0,    0,    0}, /* reg: BXor(reg, reg) = 340 */
04148   {    0,    0,    0,    0}, /* (none) */
04149   {    0,    0,    0,    0}, /* (none) */
04150   {    0,    0,    0,    0}, /* (none) */
04151   {    0,    0,    0,    0}, /* (none) */
04152   {    0,    0,    0,    0}, /* (none) */
04153   {    0,    0,    0,    0}, /* (none) */
04154   {    0,    0,    0,    0}, /* (none) */
04155   {    0,    0,    0,    0}, /* (none) */
04156   {    0,    0,    0,    0}, /* (none) */
04157   {    0,    0,    0,    0}, /* (none) */
04158   {    0,    0,    0,    0}, /* (none) */
04159   {    0,    0,    0,    0}, /* (none) */
04160   {    0,    0,    0,    0}, /* (none) */
04161   {    0,    0,    0,    0}, /* (none) */
04162   {    0,    0,    0,    0}, /* (none) */
04163   {    0,    0,    0,    0}, /* (none) */
04164   {    0,    0,    0,    0}, /* (none) */
04165 },
04166 { /* state #16: BXor(VReg, Constant) */
04167   {0},
04168   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04169   {    0,    0,    0,    0}, /* reg: BXor(reg, Constant) = 540 */
04170   {    0,    0,    0,    0}, /* (none) */
04171   {    0,    0,    0,    0}, /* (none) */
04172   {    0,    0,    0,    0}, /* (none) */
04173   {    0,    0,    0,    0}, /* (none) */
04174   {    0,    0,    0,    0}, /* (none) */
04175   {    0,    0,    0,    0}, /* (none) */
04176   {    0,    0,    0,    0}, /* (none) */
04177   {    0,    0,    0,    0}, /* (none) */
04178   {    0,    0,    0,    0}, /* (none) */
04179   {    0,    0,    0,    0}, /* (none) */
04180   {    0,    0,    0,    0}, /* (none) */
04181   {    0,    0,    0,    0}, /* (none) */
04182   {    0,    0,    0,    0}, /* (none) */
04183   {    0,    0,    0,    0}, /* (none) */
04184   {    0,    0,    0,    0}, /* (none) */
04185   {    0,    0,    0,    0}, /* (none) */
04186   {    0,    0,    0,    0}, /* (none) */
04187 },
04188 { /* state #17: BXor(VReg, BNot(VReg, VReg)) */
04189   {0},
04190   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04191   {    0,    0,    0,    0}, /* reg: BXor(reg, bnot) = 440 */
04192   {    0,    0,    0,    0}, /* (none) */
04193   {    0,    0,    0,    0}, /* (none) */
04194   {    0,    0,    0,    0}, /* (none) */
04195   {    0,    0,    0,    0}, /* (none) */
04196   {    0,    0,    0,    0}, /* (none) */
04197   {    0,    0,    0,    0}, /* (none) */
04198   {    0,    0,    0,    0}, /* (none) */
04199   {    0,    0,    0,    0}, /* (none) */
04200   {    0,    0,    0,    0}, /* (none) */
04201   {    0,    0,    0,    0}, /* (none) */
04202   {    0,    0,    0,    0}, /* (none) */
04203   {    0,    0,    0,    0}, /* (none) */
04204   {    0,    0,    0,    0}, /* (none) */
04205   {    0,    0,    0,    0}, /* (none) */
04206   {    0,    0,    0,    0}, /* (none) */
04207   {    0,    0,    0,    0}, /* (none) */
04208   {    0,    0,    0,    0}, /* (none) */
04209 },
04210 { /* state #18: BrCond(VReg) */
04211   {0},
04212   {    0,    0,    0,    0}, /* stmt: BrCond(reg) = 8 */
04213   {    0,    0,    0,    0}, /* (none) */
04214   {    0,    0,    0,    0}, /* (none) */
04215   {    0,    0,    0,    0}, /* (none) */
04216   {    0,    0,    0,    0}, /* (none) */
04217   {    0,    0,    0,    0}, /* (none) */
04218   {    0,    0,    0,    0}, /* (none) */
04219   {    0,    0,    0,    0}, /* (none) */
04220   {    0,    0,    0,    0}, /* (none) */
04221   {    0,    0,    0,    0}, /* (none) */
04222   {    0,    0,    0,    0}, /* (none) */
04223   {    0,    0,    0,    0}, /* (none) */
04224   {    0,    0,    0,    0}, /* (none) */
04225   {    0,    0,    0,    0}, /* (none) */
04226   {    0,    0,    0,    0}, /* (none) */
04227   {    0,    0,    0,    0}, /* (none) */
04228   {    0,    0,    0,    0}, /* (none) */
04229   {    0,    0,    0,    0}, /* (none) */
04230   {    0,    0,    0,    0}, /* (none) */
04231 },
04232 { /* state #19: BrCond(Constant) */
04233   {0},
04234   {    0,    0,    0,    0}, /* stmt: BrCond(Constant) = 208 */
04235   {    0,    0,    0,    0}, /* (none) */
04236   {    0,    0,    0,    0}, /* (none) */
04237   {    0,    0,    0,    0}, /* (none) */
04238   {    0,    0,    0,    0}, /* (none) */
04239   {    0,    0,    0,    0}, /* (none) */
04240   {    0,    0,    0,    0}, /* (none) */
04241   {    0,    0,    0,    0}, /* (none) */
04242   {    0,    0,    0,    0}, /* (none) */
04243   {    0,    0,    0,    0}, /* (none) */
04244   {    0,    0,    0,    0}, /* (none) */
04245   {    0,    0,    0,    0}, /* (none) */
04246   {    0,    0,    0,    0}, /* (none) */
04247   {    0,    0,    0,    0}, /* (none) */
04248   {    0,    0,    0,    0}, /* (none) */
04249   {    0,    0,    0,    0}, /* (none) */
04250   {    0,    0,    0,    0}, /* (none) */
04251   {    0,    0,    0,    0}, /* (none) */
04252   {    0,    0,    0,    0}, /* (none) */
04253 },
04254 { /* state #20: BrCond(SetCC(VReg, VReg)) */
04255   {0},
04256   {    0,    0,    0,    0}, /* stmt: BrCond(setCC) = 6 */
04257   {    0,    0,    0,    0}, /* (none) */
04258   {    0,    0,    0,    0}, /* (none) */
04259   {    0,    0,    0,    0}, /* (none) */
04260   {    0,    0,    0,    0}, /* (none) */
04261   {    0,    0,    0,    0}, /* (none) */
04262   {    0,    0,    0,    0}, /* (none) */
04263   {    0,    0,    0,    0}, /* (none) */
04264   {    0,    0,    0,    0}, /* (none) */
04265   {    0,    0,    0,    0}, /* (none) */
04266   {    0,    0,    0,    0}, /* (none) */
04267   {    0,    0,    0,    0}, /* (none) */
04268   {    0,    0,    0,    0}, /* (none) */
04269   {    0,    0,    0,    0}, /* (none) */
04270   {    0,    0,    0,    0}, /* (none) */
04271   {    0,    0,    0,    0}, /* (none) */
04272   {    0,    0,    0,    0}, /* (none) */
04273   {    0,    0,    0,    0}, /* (none) */
04274   {    0,    0,    0,    0}, /* (none) */
04275 },
04276 { /* state #21: BrCond(SetCC(VReg, Constant)) */
04277   {0},
04278   {    0,    0,    0,    0}, /* stmt: BrCond(setCCconst) = 206 */
04279   {    0,    0,    0,    0}, /* (none) */
04280   {    0,    0,    0,    0}, /* (none) */
04281   {    0,    0,    0,    0}, /* (none) */
04282   {    0,    0,    0,    0}, /* (none) */
04283   {    0,    0,    0,    0}, /* (none) */
04284   {    0,    0,    0,    0}, /* (none) */
04285   {    0,    0,    0,    0}, /* (none) */
04286   {    0,    0,    0,    0}, /* (none) */
04287   {    0,    0,    0,    0}, /* (none) */
04288   {    0,    0,    0,    0}, /* (none) */
04289   {    0,    0,    0,    0}, /* (none) */
04290   {    0,    0,    0,    0}, /* (none) */
04291   {    0,    0,    0,    0}, /* (none) */
04292   {    0,    0,    0,    0}, /* (none) */
04293   {    0,    0,    0,    0}, /* (none) */
04294   {    0,    0,    0,    0}, /* (none) */
04295   {    0,    0,    0,    0}, /* (none) */
04296   {    0,    0,    0,    0}, /* (none) */
04297 },
04298 { /* state #22: BrUncond */
04299   {0},
04300   {    0,    0,    0,    0}, /* stmt: BrUncond = 5 */
04301   {    0,    0,    0,    0}, /* (none) */
04302   {    0,    0,    0,    0}, /* (none) */
04303   {    0,    0,    0,    0}, /* (none) */
04304   {    0,    0,    0,    0}, /* (none) */
04305   {    0,    0,    0,    0}, /* (none) */
04306   {    0,    0,    0,    0}, /* (none) */
04307   {    0,    0,    0,    0}, /* (none) */
04308   {    0,    0,    0,    0}, /* (none) */
04309   {    0,    0,    0,    0}, /* (none) */
04310   {    0,    0,    0,    0}, /* (none) */
04311   {    0,    0,    0,    0}, /* (none) */
04312   {    0,    0,    0,    0}, /* (none) */
04313   {    0,    0,    0,    0}, /* (none) */
04314   {    0,    0,    0,    0}, /* (none) */
04315   {    0,    0,    0,    0}, /* (none) */
04316   {    0,    0,    0,    0}, /* (none) */
04317   {    0,    0,    0,    0}, /* (none) */
04318   {    0,    0,    0,    0}, /* (none) */
04319 },
04320 { /* state #23: Call */
04321   {0},
04322   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04323   {    0,    0,    0,    0}, /* reg: Call = 61 */
04324   {    0,    0,    0,    0}, /* (none) */
04325   {    0,    0,    0,    0}, /* (none) */
04326   {    0,    0,    0,    0}, /* (none) */
04327   {    0,    0,    0,    0}, /* (none) */
04328   {    0,    0,    0,    0}, /* (none) */
04329   {    0,    0,    0,    0}, /* (none) */
04330   {    0,    0,    0,    0}, /* (none) */
04331   {    0,    0,    0,    0}, /* (none) */
04332   {    0,    0,    0,    0}, /* (none) */
04333   {    0,    0,    0,    0}, /* (none) */
04334   {    0,    0,    0,    0}, /* (none) */
04335   {    0,    0,    0,    0}, /* (none) */
04336   {    0,    0,    0,    0}, /* (none) */
04337   {    0,    0,    0,    0}, /* (none) */
04338   {    0,    0,    0,    0}, /* (none) */
04339   {    0,    0,    0,    0}, /* (none) */
04340   {    0,    0,    0,    0}, /* (none) */
04341 },
04342 { /* state #24: Constant */
04343   {0},
04344   {    3,    0,    0,    0}, /* stmt: reg = 111 */
04345   {    3,    0,    0,    0}, /* reg: Constant = 72 */
04346   {    0,    0,    0,    0}, /* (none) */
04347   {    0,    0,    0,    0}, /* (none) */
04348   {    0,    0,    0,    0}, /* (none) */
04349   {    0,    0,    0,    0}, /* (none) */
04350   {    0,    0,    0,    0}, /* (none) */
04351   {    0,    0,    0,    0}, /* (none) */
04352   {    0,    0,    0,    0}, /* (none) */
04353   {    0,    0,    0,    0}, /* (none) */
04354   {    0,    0,    0,    0}, /* (none) */
04355   {    0,    0,    0,    0}, /* (none) */
04356   {    0,    0,    0,    0}, /* (none) */
04357   {    0,    0,    0,    0}, /* (none) */
04358   {    0,    0,    0,    0}, /* (none) */
04359   {    0,    0,    0,    0}, /* (none) */
04360   {    0,    0,    0,    0}, /* (none) */
04361   {    0,    0,    0,    0}, /* (none) */
04362   {    0,    0,    0,    0}, /* (none) */
04363 },
04364 { /* state #25: Div(VReg, VReg) */
04365   {0},
04366   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04367   {    0,    0,    0,    0}, /* reg: Div(reg, reg) = 36 */
04368   {    0,    0,    0,    0}, /* (none) */
04369   {    0,    0,    0,    0}, /* (none) */
04370   {    0,    0,    0,    0}, /* (none) */
04371   {    0,    0,    0,    0}, /* (none) */
04372   {    0,    0,    0,    0}, /* (none) */
04373   {    0,    0,    0,    0}, /* (none) */
04374   {    0,    0,    0,    0}, /* (none) */
04375   {    0,    0,    0,    0}, /* (none) */
04376   {    0,    0,    0,    0}, /* (none) */
04377   {    0,    0,    0,    0}, /* (none) */
04378   {    0,    0,    0,    0}, /* (none) */
04379   {    0,    0,    0,    0}, /* (none) */
04380   {    0,    0,    0,    0}, /* (none) */
04381   {    0,    0,    0,    0}, /* (none) */
04382   {    0,    0,    0,    0}, /* (none) */
04383   {    0,    0,    0,    0}, /* (none) */
04384   {    0,    0,    0,    0}, /* (none) */
04385 },
04386 { /* state #26: Div(VReg, Constant) */
04387   {0},
04388   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04389   {    0,    0,    0,    0}, /* reg: Div(reg, Constant) = 236 */
04390   {    0,    0,    0,    0}, /* (none) */
04391   {    0,    0,    0,    0}, /* (none) */
04392   {    0,    0,    0,    0}, /* (none) */
04393   {    0,    0,    0,    0}, /* (none) */
04394   {    0,    0,    0,    0}, /* (none) */
04395   {    0,    0,    0,    0}, /* (none) */
04396   {    0,    0,    0,    0}, /* (none) */
04397   {    0,    0,    0,    0}, /* (none) */
04398   {    0,    0,    0,    0}, /* (none) */
04399   {    0,    0,    0,    0}, /* (none) */
04400   {    0,    0,    0,    0}, /* (none) */
04401   {    0,    0,    0,    0}, /* (none) */
04402   {    0,    0,    0,    0}, /* (none) */
04403   {    0,    0,    0,    0}, /* (none) */
04404   {    0,    0,    0,    0}, /* (none) */
04405   {    0,    0,    0,    0}, /* (none) */
04406   {    0,    0,    0,    0}, /* (none) */
04407 },
04408 { /* state #27: GetElemPtr(VReg) */
04409   {0},
04410   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04411   {    0,    0,    0,    0}, /* reg: ptrreg = 155 */
04412   {    0,    0,    0,    0}, /* (none) */
04413   {    0,    0,    0,    0}, /* (none) */
04414   {    0,    0,    0,    0}, /* (none) */
04415   {    0,    0,    0,    0}, /* (none) */
04416   {    0,    0,    0,    0}, /* (none) */
04417   {    0,    0,    0,    0}, /* (none) */
04418   {    0,    0,    0,    0}, /* (none) */
04419   {    0,    0,    0,    0}, /* (none) */
04420   {    0,    0,    0,    0}, /* (none) */
04421   {    0,    0,    0,    0}, /* (none) */
04422   {    0,    0,    0,    0}, /* (none) */
04423   {    0,    0,    0,    0}, /* (none) */
04424   {    0,    0,    0,    0}, /* (none) */
04425   {    0,    0,    0,    0}, /* (none) */
04426   {    0,    0,    0,    0}, /* (none) */
04427   {    0,    0,    0,    0}, /* (none) */
04428   {    0,    0,    0,    0}, /* ptrreg: GetElemPtr(reg) = 55 */
04429 },
04430 { /* state #28: GetElemPtrIdx(VReg, VReg) */
04431   {0},
04432   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04433   {    0,    0,    0,    0}, /* reg: ptrreg = 155 */
04434   {    0,    0,    0,    0}, /* (none) */
04435   {    0,    0,    0,    0}, /* (none) */
04436   {    0,    0,    0,    0}, /* (none) */
04437   {    0,    0,    0,    0}, /* (none) */
04438   {    0,    0,    0,    0}, /* (none) */
04439   {    0,    0,    0,    0}, /* (none) */
04440   {    0,    0,    0,    0}, /* (none) */
04441   {    0,    0,    0,    0}, /* (none) */
04442   {    0,    0,    0,    0}, /* (none) */
04443   {    0,    0,    0,    0}, /* (none) */
04444   {    0,    0,    0,    0}, /* (none) */
04445   {    0,    0,    0,    0}, /* (none) */
04446   {    0,    0,    0,    0}, /* (none) */
04447   {    0,    0,    0,    0}, /* (none) */
04448   {    0,    0,    0,    0}, /* (none) */
04449   {    0,    0,    0,    0}, /* (none) */
04450   {    0,    0,    0,    0}, /* ptrreg: GetElemPtrIdx(reg, reg) = 56 */
04451 },
04452 { /* state #29: Load(VReg) */
04453   {0},
04454   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04455   {    0,    0,    0,    0}, /* reg: Load(reg) = 51 */
04456   {    0,    0,    0,    0}, /* (none) */
04457   {    0,    0,    0,    0}, /* (none) */
04458   {    0,    0,    0,    0}, /* (none) */
04459   {    0,    0,    0,    0}, /* (none) */
04460   {    0,    0,    0,    0}, /* (none) */
04461   {    0,    0,    0,    0}, /* (none) */
04462   {    0,    0,    0,    0}, /* (none) */
04463   {    0,    0,    0,    0}, /* (none) */
04464   {    0,    0,    0,    0}, /* (none) */
04465   {    0,    0,    0,    0}, /* (none) */
04466   {    0,    0,    0,    0}, /* (none) */
04467   {    0,    0,    0,    0}, /* (none) */
04468   {    0,    0,    0,    0}, /* (none) */
04469   {    0,    0,    0,    0}, /* (none) */
04470   {    0,    0,    0,    0}, /* (none) */
04471   {    0,    0,    0,    0}, /* (none) */
04472   {    0,    0,    0,    0}, /* (none) */
04473 },
04474 { /* state #30: Load(GetElemPtr(VReg)) */
04475   {0},
04476   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04477   {    0,    0,    0,    0}, /* reg: Load(ptrreg) = 52 */
04478   {    0,    0,    0,    0}, /* (none) */
04479   {    0,    0,    0,    0}, /* (none) */
04480   {    0,    0,    0,    0}, /* (none) */
04481   {    0,    0,    0,    0}, /* (none) */
04482   {    0,    0,    0,    0}, /* (none) */
04483   {    0,    0,    0,    0}, /* (none) */
04484   {    0,    0,    0,    0}, /* (none) */
04485   {    0,    0,    0,    0}, /* (none) */
04486   {    0,    0,    0,    0}, /* (none) */
04487   {    0,    0,    0,    0}, /* (none) */
04488   {    0,    0,    0,    0}, /* (none) */
04489   {    0,    0,    0,    0}, /* (none) */
04490   {    0,    0,    0,    0}, /* (none) */
04491   {    0,    0,    0,    0}, /* (none) */
04492   {    0,    0,    0,    0}, /* (none) */
04493   {    0,    0,    0,    0}, /* (none) */
04494   {    0,    0,    0,    0}, /* (none) */
04495 },
04496 { /* state #31: Mul(VReg, VReg) */
04497   {0},
04498   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04499   {    0,    0,    0,    0}, /* reg: Mul(reg, reg) = 35 */
04500   {    0,    0,    0,    0}, /* (none) */
04501   {    0,    0,    0,    0}, /* (none) */
04502   {    0,    0,    0,    0}, /* (none) */
04503   {    0,    0,    0,    0}, /* (none) */
04504   {    0,    0,    0,    0}, /* (none) */
04505   {    0,    0,    0,    0}, /* (none) */
04506   {    0,    0,    0,    0}, /* (none) */
04507   {    0,    0,    0,    0}, /* (none) */
04508   {    0,    0,    0,    0}, /* (none) */
04509   {    0,    0,    0,    0}, /* (none) */
04510   {    0,    0,    0,    0}, /* (none) */
04511   {    0,    0,    0,    0}, /* (none) */
04512   {    0,    0,    0,    0}, /* (none) */
04513   {    0,    0,    0,    0}, /* (none) */
04514   {    0,    0,    0,    0}, /* (none) */
04515   {    0,    0,    0,    0}, /* (none) */
04516   {    0,    0,    0,    0}, /* (none) */
04517 },
04518 { /* state #32: Mul(VReg, Constant) */
04519   {0},
04520   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04521   {    0,    0,    0,    0}, /* reg: Mul(reg, Constant) = 235 */
04522   {    0,    0,    0,    0}, /* (none) */
04523   {    0,    0,    0,    0}, /* (none) */
04524   {    0,    0,    0,    0}, /* (none) */
04525   {    0,    0,    0,    0}, /* (none) */
04526   {    0,    0,    0,    0}, /* (none) */
04527   {    0,    0,    0,    0}, /* (none) */
04528   {    0,    0,    0,    0}, /* (none) */
04529   {    0,    0,    0,    0}, /* (none) */
04530   {    0,    0,    0,    0}, /* (none) */
04531   {    0,    0,    0,    0}, /* (none) */
04532   {    0,    0,    0,    0}, /* (none) */
04533   {    0,    0,    0,    0}, /* (none) */
04534   {    0,    0,    0,    0}, /* (none) */
04535   {    0,    0,    0,    0}, /* (none) */
04536   {    0,    0,    0,    0}, /* (none) */
04537   {    0,    0,    0,    0}, /* (none) */
04538   {    0,    0,    0,    0}, /* (none) */
04539 },
04540 { /* state #33: Mul(ToDoubleTy(VReg), ToDoubleTy(VReg)) */
04541   {0},
04542   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04543   {    0,    0,    0,    0}, /* reg: Mul(todouble, todouble) = 135 */
04544   {    0,    0,    0,    0}, /* (none) */
04545   {    0,    0,    0,    0}, /* (none) */
04546   {    0,    0,    0,    0}, /* (none) */
04547   {    0,    0,    0,    0}, /* (none) */
04548   {    0,    0,    0,    0}, /* (none) */
04549   {    0,    0,    0,    0}, /* (none) */
04550   {    0,    0,    0,    0}, /* (none) */
04551   {    0,    0,    0,    0}, /* (none) */
04552   {    0,    0,    0,    0}, /* (none) */
04553   {    0,    0,    0,    0}, /* (none) */
04554   {    0,    0,    0,    0}, /* (none) */
04555   {    0,    0,    0,    0}, /* (none) */
04556   {    0,    0,    0,    0}, /* (none) */
04557   {    0,    0,    0,    0}, /* (none) */
04558   {    0,    0,    0,    0}, /* (none) */
04559   {    0,    0,    0,    0}, /* (none) */
04560   {    0,    0,    0,    0}, /* (none) */
04561 },
04562 { /* state #34: Mul(ToDoubleTy(VReg), ToDoubleTy(Constant)) */
04563   {0},
04564   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04565   {    0,    0,    0,    0}, /* reg: Mul(todouble, todoubleConst) = 335 */
04566   {    0,    0,    0,    0}, /* (none) */
04567   {    0,    0,    0,    0}, /* (none) */
04568   {    0,    0,    0,    0}, /* (none) */
04569   {    0,    0,    0,    0}, /* (none) */
04570   {    0,    0,    0,    0}, /* (none) */
04571   {    0,    0,    0,    0}, /* (none) */
04572   {    0,    0,    0,    0}, /* (none) */
04573   {    0,    0,    0,    0}, /* (none) */
04574   {    0,    0,    0,    0}, /* (none) */
04575   {    0,    0,    0,    0}, /* (none) */
04576   {    0,    0,    0,    0}, /* (none) */
04577   {    0,    0,    0,    0}, /* (none) */
04578   {    0,    0,    0,    0}, /* (none) */
04579   {    0,    0,    0,    0}, /* (none) */
04580   {    0,    0,    0,    0}, /* (none) */
04581   {    0,    0,    0,    0}, /* (none) */
04582   {    0,    0,    0,    0}, /* (none) */
04583 },
04584 { /* state #35: Not(VReg, VReg) */
04585   {0},
04586   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04587   {    0,    0,    0,    0}, /* reg: not = 221 */
04588   {    0,    0,    0,    0}, /* not: Not(reg, reg) = 21 */
04589   {    0,    0,    0,    0}, /* (none) */
04590   {    0,    0,    0,    0}, /* (none) */
04591   {    0,    0,    0,    0}, /* (none) */
04592   {    0,    0,    0,    0}, /* (none) */
04593   {    0,    0,    0,    0}, /* (none) */
04594   {    0,    0,    0,    0}, /* (none) */
04595   {    0,    0,    0,    0}, /* (none) */
04596   {    0,    0,    0,    0}, /* (none) */
04597   {    0,    0,    0,    0}, /* (none) */
04598   {    0,    0,    0,    0}, /* (none) */
04599   {    0,    0,    0,    0}, /* (none) */
04600   {    0,    0,    0,    0}, /* (none) */
04601   {    0,    0,    0,    0}, /* (none) */
04602   {    0,    0,    0,    0}, /* (none) */
04603   {    0,    0,    0,    0}, /* (none) */
04604   {    0,    0,    0,    0}, /* (none) */
04605 },
04606 { /* state #36: Or(VReg, VReg) */
04607   {0},
04608   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04609   {    0,    0,    0,    0}, /* reg: Or(reg, reg) = 39 */
04610   {    0,    0,    0,    0}, /* (none) */
04611   {    0,    0,    0,    0}, /* (none) */
04612   {    0,    0,    0,    0}, /* (none) */
04613   {    0,    0,    0,    0}, /* (none) */
04614   {    0,    0,    0,    0}, /* (none) */
04615   {    0,    0,    0,    0}, /* (none) */
04616   {    0,    0,    0,    0}, /* (none) */
04617   {    0,    0,    0,    0}, /* (none) */
04618   {    0,    0,    0,    0}, /* (none) */
04619   {    0,    0,    0,    0}, /* (none) */
04620   {    0,    0,    0,    0}, /* (none) */
04621   {    0,    0,    0,    0}, /* (none) */
04622   {    0,    0,    0,    0}, /* (none) */
04623   {    0,    0,    0,    0}, /* (none) */
04624   {    0,    0,    0,    0}, /* (none) */
04625   {    0,    0,    0,    0}, /* (none) */
04626   {    0,    0,    0,    0}, /* (none) */
04627 },
04628 { /* state #37: Or(VReg, Constant) */
04629   {0},
04630   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04631   {    0,    0,    0,    0}, /* reg: Or(reg, Constant) = 239 */
04632   {    0,    0,    0,    0}, /* (none) */
04633   {    0,    0,    0,    0}, /* (none) */
04634   {    0,    0,    0,    0}, /* (none) */
04635   {    0,    0,    0,    0}, /* (none) */
04636   {    0,    0,    0,    0}, /* (none) */
04637   {    0,    0,    0,    0}, /* (none) */
04638   {    0,    0,    0,    0}, /* (none) */
04639   {    0,    0,    0,    0}, /* (none) */
04640   {    0,    0,    0,    0}, /* (none) */
04641   {    0,    0,    0,    0}, /* (none) */
04642   {    0,    0,    0,    0}, /* (none) */
04643   {    0,    0,    0,    0}, /* (none) */
04644   {    0,    0,    0,    0}, /* (none) */
04645   {    0,    0,    0,    0}, /* (none) */
04646   {    0,    0,    0,    0}, /* (none) */
04647   {    0,    0,    0,    0}, /* (none) */
04648   {    0,    0,    0,    0}, /* (none) */
04649 },
04650 { /* state #38: Or(VReg, Not(VReg, VReg)) */
04651   {0},
04652   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04653   {    0,    0,    0,    0}, /* reg: Or(reg, not) = 139 */
04654   {    0,    0,    0,    0}, /* (none) */
04655   {    0,    0,    0,    0}, /* (none) */
04656   {    0,    0,    0,    0}, /* (none) */
04657   {    0,    0,    0,    0}, /* (none) */
04658   {    0,    0,    0,    0}, /* (none) */
04659   {    0,    0,    0,    0}, /* (none) */
04660   {    0,    0,    0,    0}, /* (none) */
04661   {    0,    0,    0,    0}, /* (none) */
04662   {    0,    0,    0,    0}, /* (none) */
04663   {    0,    0,    0,    0}, /* (none) */
04664   {    0,    0,    0,    0}, /* (none) */
04665   {    0,    0,    0,    0}, /* (none) */
04666   {    0,    0,    0,    0}, /* (none) */
04667   {    0,    0,    0,    0}, /* (none) */
04668   {    0,    0,    0,    0}, /* (none) */
04669   {    0,    0,    0,    0}, /* (none) */
04670   {    0,    0,    0,    0}, /* (none) */
04671 },
04672 { /* state #39: Phi(VReg, VReg) */
04673   {0},
04674   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04675   {    0,    0,    0,    0}, /* reg: Phi(reg, reg) = 64 */
04676   {    0,    0,    0,    0}, /* (none) */
04677   {    0,    0,    0,    0}, /* (none) */
04678   {    0,    0,    0,    0}, /* (none) */
04679   {    0,    0,    0,    0}, /* (none) */
04680   {    0,    0,    0,    0}, /* (none) */
04681   {    0,    0,    0,    0}, /* (none) */
04682   {    0,    0,    0,    0}, /* (none) */
04683   {    0,    0,    0,    0}, /* (none) */
04684   {    0,    0,    0,    0}, /* (none) */
04685   {    0,    0,    0,    0}, /* (none) */
04686   {    0,    0,    0,    0}, /* (none) */
04687   {    0,    0,    0,    0}, /* (none) */
04688   {    0,    0,    0,    0}, /* (none) */
04689   {    0,    0,    0,    0}, /* (none) */
04690   {    0,    0,    0,    0}, /* (none) */
04691   {    0,    0,    0,    0}, /* (none) */
04692   {    0,    0,    0,    0}, /* (none) */
04693 },
04694 { /* state #40: Rem(VReg, VReg) */
04695   {0},
04696   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04697   {    0,    0,    0,    0}, /* reg: Rem(reg, reg) = 37 */
04698   {    0,    0,    0,    0}, /* (none) */
04699   {    0,    0,    0,    0}, /* (none) */
04700   {    0,    0,    0,    0}, /* (none) */
04701   {    0,    0,    0,    0}, /* (none) */
04702   {    0,    0,    0,    0}, /* (none) */
04703   {    0,    0,    0,    0}, /* (none) */
04704   {    0,    0,    0,    0}, /* (none) */
04705   {    0,    0,    0,    0}, /* (none) */
04706   {    0,    0,    0,    0}, /* (none) */
04707   {    0,    0,    0,    0}, /* (none) */
04708   {    0,    0,    0,    0}, /* (none) */
04709   {    0,    0,    0,    0}, /* (none) */
04710   {    0,    0,    0,    0}, /* (none) */
04711   {    0,    0,    0,    0}, /* (none) */
04712   {    0,    0,    0,    0}, /* (none) */
04713   {    0,    0,    0,    0}, /* (none) */
04714   {    0,    0,    0,    0}, /* (none) */
04715 },
04716 { /* state #41: Rem(VReg, Constant) */
04717   {0},
04718   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04719   {    0,    0,    0,    0}, /* reg: Rem(reg, Constant) = 237 */
04720   {    0,    0,    0,    0}, /* (none) */
04721   {    0,    0,    0,    0}, /* (none) */
04722   {    0,    0,    0,    0}, /* (none) */
04723   {    0,    0,    0,    0}, /* (none) */
04724   {    0,    0,    0,    0}, /* (none) */
04725   {    0,    0,    0,    0}, /* (none) */
04726   {    0,    0,    0,    0}, /* (none) */
04727   {    0,    0,    0,    0}, /* (none) */
04728   {    0,    0,    0,    0}, /* (none) */
04729   {    0,    0,    0,    0}, /* (none) */
04730   {    0,    0,    0,    0}, /* (none) */
04731   {    0,    0,    0,    0}, /* (none) */
04732   {    0,    0,    0,    0}, /* (none) */
04733   {    0,    0,    0,    0}, /* (none) */
04734   {    0,    0,    0,    0}, /* (none) */
04735   {    0,    0,    0,    0}, /* (none) */
04736   {    0,    0,    0,    0}, /* (none) */
04737 },
04738 { /* state #42: Ret */
04739   {0},
04740   {    0,    0,    0,    0}, /* stmt: Ret = 1 */
04741   {    0,    0,    0,    0}, /* (none) */
04742   {    0,    0,    0,    0}, /* (none) */
04743   {    0,    0,    0,    0}, /* (none) */
04744   {    0,    0,    0,    0}, /* (none) */
04745   {    0,    0,    0,    0}, /* (none) */
04746   {    0,    0,    0,    0}, /* (none) */
04747   {    0,    0,    0,    0}, /* (none) */
04748   {    0,    0,    0,    0}, /* (none) */
04749   {    0,    0,    0,    0}, /* (none) */
04750   {    0,    0,    0,    0}, /* (none) */
04751   {    0,    0,    0,    0}, /* (none) */
04752   {    0,    0,    0,    0}, /* (none) */
04753   {    0,    0,    0,    0}, /* (none) */
04754   {    0,    0,    0,    0}, /* (none) */
04755   {    0,    0,    0,    0}, /* (none) */
04756   {    0,    0,    0,    0}, /* (none) */
04757   {    0,    0,    0,    0}, /* (none) */
04758   {    0,    0,    0,    0}, /* (none) */
04759 },
04760 { /* state #43: RetValue(VReg) */
04761   {0},
04762   {    0,    0,    0,    0}, /* stmt: RetValue(reg) = 2 */
04763   {    0,    0,    0,    0}, /* (none) */
04764   {    0,    0,    0,    0}, /* (none) */
04765   {    0,    0,    0,    0}, /* (none) */
04766   {    0,    0,    0,    0}, /* (none) */
04767   {    0,    0,    0,    0}, /* (none) */
04768   {    0,    0,    0,    0}, /* (none) */
04769   {    0,    0,    0,    0}, /* (none) */
04770   {    0,    0,    0,    0}, /* (none) */
04771   {    0,    0,    0,    0}, /* (none) */
04772   {    0,    0,    0,    0}, /* (none) */
04773   {    0,    0,    0,    0}, /* (none) */
04774   {    0,    0,    0,    0}, /* (none) */
04775   {    0,    0,    0,    0}, /* (none) */
04776   {    0,    0,    0,    0}, /* (none) */
04777   {    0,    0,    0,    0}, /* (none) */
04778   {    0,    0,    0,    0}, /* (none) */
04779   {    0,    0,    0,    0}, /* (none) */
04780   {    0,    0,    0,    0}, /* (none) */
04781 },
04782 { /* state #44: SetCC(VReg, VReg) */
04783   {0},
04784   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04785   {    0,    0,    0,    0}, /* reg: setCC = 242 */
04786   {    0,    0,    0,    0}, /* (none) */
04787   {    0,    0,    0,    0}, /* (none) */
04788   {    0,    0,    0,    0}, /* (none) */
04789   {    0,    0,    0,    0}, /* (none) */
04790   {    0,    0,    0,    0}, /* (none) */
04791   {    0,    0,    0,    0}, /* (none) */
04792   {    0,    0,    0,    0}, /* (none) */
04793   {    0,    0,    0,    0}, /* (none) */
04794   {    0,    0,    0,    0}, /* (none) */
04795   {    0,    0,    0,    0}, /* (none) */
04796   {    0,    0,    0,    0}, /* (none) */
04797   {    0,    0,    0,    0}, /* (none) */
04798   {    0,    0,    0,    0}, /* (none) */
04799   {    0,    0,    0,    0}, /* (none) */
04800   {    0,    0,    0,    0}, /* setCC: SetCC(reg, reg) = 42 */
04801   {    0,    0,    0,    0}, /* (none) */
04802   {    0,    0,    0,    0}, /* (none) */
04803 },
04804 { /* state #45: SetCC(VReg, Constant) */
04805   {0},
04806   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04807   {    0,    0,    0,    0}, /* reg: setCCconst = 241 */
04808   {    0,    0,    0,    0}, /* (none) */
04809   {    0,    0,    0,    0}, /* (none) */
04810   {    0,    0,    0,    0}, /* (none) */
04811   {    0,    0,    0,    0}, /* (none) */
04812   {    0,    0,    0,    0}, /* (none) */
04813   {    0,    0,    0,    0}, /* (none) */
04814   {    0,    0,    0,    0}, /* (none) */
04815   {    0,    0,    0,    0}, /* (none) */
04816   {    0,    0,    0,    0}, /* (none) */
04817   {    0,    0,    0,    0}, /* (none) */
04818   {    0,    0,    0,    0}, /* (none) */
04819   {    0,    0,    0,    0}, /* (none) */
04820   {    0,    0,    0,    0}, /* (none) */
04821   {    0,    0,    0,    0}, /* setCCconst: SetCC(reg, Constant) = 41 */
04822   {    8,    0,    0,    0}, /* setCC: SetCC(reg, reg) = 42 */
04823   {    0,    0,    0,    0}, /* (none) */
04824   {    0,    0,    0,    0}, /* (none) */
04825 },
04826 { /* state #46: Shl(VReg, VReg) */
04827   {0},
04828   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04829   {    0,    0,    0,    0}, /* reg: Shl(reg, reg) = 62 */
04830   {    0,    0,    0,    0}, /* (none) */
04831   {    0,    0,    0,    0}, /* (none) */
04832   {    0,    0,    0,    0}, /* (none) */
04833   {    0,    0,    0,    0}, /* (none) */
04834   {    0,    0,    0,    0}, /* (none) */
04835   {    0,    0,    0,    0}, /* (none) */
04836   {    0,    0,    0,    0}, /* (none) */
04837   {    0,    0,    0,    0}, /* (none) */
04838   {    0,    0,    0,    0}, /* (none) */
04839   {    0,    0,    0,    0}, /* (none) */
04840   {    0,    0,    0,    0}, /* (none) */
04841   {    0,    0,    0,    0}, /* (none) */
04842   {    0,    0,    0,    0}, /* (none) */
04843   {    0,    0,    0,    0}, /* (none) */
04844   {    0,    0,    0,    0}, /* (none) */
04845   {    0,    0,    0,    0}, /* (none) */
04846   {    0,    0,    0,    0}, /* (none) */
04847 },
04848 { /* state #47: Shr(VReg, VReg) */
04849   {0},
04850   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04851   {    0,    0,    0,    0}, /* reg: Shr(reg, reg) = 63 */
04852   {    0,    0,    0,    0}, /* (none) */
04853   {    0,    0,    0,    0}, /* (none) */
04854   {    0,    0,    0,    0}, /* (none) */
04855   {    0,    0,    0,    0}, /* (none) */
04856   {    0,    0,    0,    0}, /* (none) */
04857   {    0,    0,    0,    0}, /* (none) */
04858   {    0,    0,    0,    0}, /* (none) */
04859   {    0,    0,    0,    0}, /* (none) */
04860   {    0,    0,    0,    0}, /* (none) */
04861   {    0,    0,    0,    0}, /* (none) */
04862   {    0,    0,    0,    0}, /* (none) */
04863   {    0,    0,    0,    0}, /* (none) */
04864   {    0,    0,    0,    0}, /* (none) */
04865   {    0,    0,    0,    0}, /* (none) */
04866   {    0,    0,    0,    0}, /* (none) */
04867   {    0,    0,    0,    0}, /* (none) */
04868   {    0,    0,    0,    0}, /* (none) */
04869 },
04870 { /* state #48: Store(VReg, VReg) */
04871   {0},
04872   {    0,    0,    0,    0}, /* stmt: Store(reg, reg) = 3 */
04873   {    0,    0,    0,    0}, /* (none) */
04874   {    0,    0,    0,    0}, /* (none) */
04875   {    0,    0,    0,    0}, /* (none) */
04876   {    0,    0,    0,    0}, /* (none) */
04877   {    0,    0,    0,    0}, /* (none) */
04878   {    0,    0,    0,    0}, /* (none) */
04879   {    0,    0,    0,    0}, /* (none) */
04880   {    0,    0,    0,    0}, /* (none) */
04881   {    0,    0,    0,    0}, /* (none) */
04882   {    0,    0,    0,    0}, /* (none) */
04883   {    0,    0,    0,    0}, /* (none) */
04884   {    0,    0,    0,    0}, /* (none) */
04885   {    0,    0,    0,    0}, /* (none) */
04886   {    0,    0,    0,    0}, /* (none) */
04887   {    0,    0,    0,    0}, /* (none) */
04888   {    0,    0,    0,    0}, /* (none) */
04889   {    0,    0,    0,    0}, /* (none) */
04890   {    0,    0,    0,    0}, /* (none) */
04891 },
04892 { /* state #49: Sub(VReg, VReg) */
04893   {0},
04894   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04895   {    0,    0,    0,    0}, /* reg: Sub(reg, reg) = 34 */
04896   {    0,    0,    0,    0}, /* (none) */
04897   {    0,    0,    0,    0}, /* (none) */
04898   {    0,    0,    0,    0}, /* (none) */
04899   {    0,    0,    0,    0}, /* (none) */
04900   {    0,    0,    0,    0}, /* (none) */
04901   {    0,    0,    0,    0}, /* (none) */
04902   {    0,    0,    0,    0}, /* (none) */
04903   {    0,    0,    0,    0}, /* (none) */
04904   {    0,    0,    0,    0}, /* (none) */
04905   {    0,    0,    0,    0}, /* (none) */
04906   {    0,    0,    0,    0}, /* (none) */
04907   {    0,    0,    0,    0}, /* (none) */
04908   {    0,    0,    0,    0}, /* (none) */
04909   {    0,    0,    0,    0}, /* (none) */
04910   {    0,    0,    0,    0}, /* (none) */
04911   {    0,    0,    0,    0}, /* (none) */
04912   {    0,    0,    0,    0}, /* (none) */
04913 },
04914 { /* state #50: Sub(VReg, Constant) */
04915   {0},
04916   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04917   {    0,    0,    0,    0}, /* reg: Sub(reg, Constant) = 234 */
04918   {    0,    0,    0,    0}, /* (none) */
04919   {    0,    0,    0,    0}, /* (none) */
04920   {    0,    0,    0,    0}, /* (none) */
04921   {    0,    0,    0,    0}, /* (none) */
04922   {    0,    0,    0,    0}, /* (none) */
04923   {    0,    0,    0,    0}, /* (none) */
04924   {    0,    0,    0,    0}, /* (none) */
04925   {    0,    0,    0,    0}, /* (none) */
04926   {    0,    0,    0,    0}, /* (none) */
04927   {    0,    0,    0,    0}, /* (none) */
04928   {    0,    0,    0,    0}, /* (none) */
04929   {    0,    0,    0,    0}, /* (none) */
04930   {    0,    0,    0,    0}, /* (none) */
04931   {    0,    0,    0,    0}, /* (none) */
04932   {    0,    0,    0,    0}, /* (none) */
04933   {    0,    0,    0,    0}, /* (none) */
04934   {    0,    0,    0,    0}, /* (none) */
04935 },
04936 { /* state #51: Switch(VReg) */
04937   {0},
04938   {    0,    0,    0,    0}, /* stmt: Switch(reg) = 9 */
04939   {    0,    0,    0,    0}, /* (none) */
04940   {    0,    0,    0,    0}, /* (none) */
04941   {    0,    0,    0,    0}, /* (none) */
04942   {    0,    0,    0,    0}, /* (none) */
04943   {    0,    0,    0,    0}, /* (none) */
04944   {    0,    0,    0,    0}, /* (none) */
04945   {    0,    0,    0,    0}, /* (none) */
04946   {    0,    0,    0,    0}, /* (none) */
04947   {    0,    0,    0,    0}, /* (none) */
04948   {    0,    0,    0,    0}, /* (none) */
04949   {    0,    0,    0,    0}, /* (none) */
04950   {    0,    0,    0,    0}, /* (none) */
04951   {    0,    0,    0,    0}, /* (none) */
04952   {    0,    0,    0,    0}, /* (none) */
04953   {    0,    0,    0,    0}, /* (none) */
04954   {    0,    0,    0,    0}, /* (none) */
04955   {    0,    0,    0,    0}, /* (none) */
04956   {    0,    0,    0,    0}, /* (none) */
04957 },
04958 { /* state #52: ToArrayTy(VReg) */
04959   {0},
04960   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04961   {    0,    0,    0,    0}, /* reg: ToArrayTy(reg) = 19 */
04962   {    0,    0,    0,    0}, /* (none) */
04963   {    0,    0,    0,    0}, /* (none) */
04964   {    0,    0,    0,    0}, /* (none) */
04965   {    0,    0,    0,    0}, /* (none) */
04966   {    0,    0,    0,    0}, /* (none) */
04967   {    0,    0,    0,    0}, /* (none) */
04968   {    0,    0,    0,    0}, /* (none) */
04969   {    0,    0,    0,    0}, /* (none) */
04970   {    0,    0,    0,    0}, /* (none) */
04971   {    0,    0,    0,    0}, /* (none) */
04972   {    0,    0,    0,    0}, /* (none) */
04973   {    0,    0,    0,    0}, /* (none) */
04974   {    0,    0,    0,    0}, /* (none) */
04975   {    0,    0,    0,    0}, /* (none) */
04976   {    0,    0,    0,    0}, /* (none) */
04977   {    0,    0,    0,    0}, /* (none) */
04978   {    0,    0,    0,    0}, /* (none) */
04979 },
04980 { /* state #53: ToBoolTy(VReg) */
04981   {0},
04982   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04983   {    0,    0,    0,    0}, /* reg: tobool = 222 */
04984   {    0,    0,    0,    0}, /* (none) */
04985   {    0,    0,    0,    0}, /* tobool: ToBoolTy(reg) = 22 */
04986   {    0,    0,    0,    0}, /* (none) */
04987   {    0,    0,    0,    0}, /* (none) */
04988   {    0,    0,    0,    0}, /* (none) */
04989   {    0,    0,    0,    0}, /* (none) */
04990   {    0,    0,    0,    0}, /* (none) */
04991   {    0,    0,    0,    0}, /* (none) */
04992   {    0,    0,    0,    0}, /* (none) */
04993   {    0,    0,    0,    0}, /* (none) */
04994   {    0,    0,    0,    0}, /* (none) */
04995   {    0,    0,    0,    0}, /* (none) */
04996   {    0,    0,    0,    0}, /* (none) */
04997   {    0,    0,    0,    0}, /* (none) */
04998   {    0,    0,    0,    0}, /* (none) */
04999   {    0,    0,    0,    0}, /* (none) */
05000   {    0,    0,    0,    0}, /* (none) */
05001 },
05002 { /* state #54: ToDoubleTy(VReg) */
05003   {0},
05004   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05005   {    0,    0,    0,    0}, /* reg: todouble = 132 */
05006   {    0,    0,    0,    0}, /* (none) */
05007   {    0,    0,    0,    0}, /* (none) */
05008   {    0,    0,    0,    0}, /* (none) */
05009   {    0,    0,    0,    0}, /* (none) */
05010   {    0,    0,    0,    0}, /* (none) */
05011   {    0,    0,    0,    0}, /* (none) */
05012   {    0,    0,    0,    0}, /* (none) */
05013   {    0,    0,    0,    0}, /* (none) */
05014   {    0,    0,    0,    0}, /* (none) */
05015   {    0,    0,    0,    0}, /* (none) */
05016   {    0,    0,    0,    0}, /* (none) */
05017   {    0,    0,    0,    0}, /* todouble: ToDoubleTy(reg) = 32 */
05018   {    0,    0,    0,    0}, /* (none) */
05019   {    0,    0,    0,    0}, /* (none) */
05020   {    0,    0,    0,    0}, /* (none) */
05021   {    0,    0,    0,    0}, /* (none) */
05022   {    0,    0,    0,    0}, /* (none) */
05023 },
05024 { /* state #55: ToDoubleTy(Constant) */
05025   {0},
05026   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05027   {    0,    0,    0,    0}, /* reg: todoubleConst = 133 */
05028   {    0,    0,    0,    0}, /* (none) */
05029   {    0,    0,    0,    0}, /* (none) */
05030   {    0,    0,    0,    0}, /* (none) */
05031   {    0,    0,    0,    0}, /* (none) */
05032   {    0,    0,    0,    0}, /* (none) */
05033   {    0,    0,    0,    0}, /* (none) */
05034   {    0,    0,    0,    0}, /* (none) */
05035   {    0,    0,    0,    0}, /* (none) */
05036   {    0,    0,    0,    0}, /* (none) */
05037   {    0,    0,    0,    0}, /* (none) */
05038   {    0,    0,    0,    0}, /* (none) */
05039   {    3,    0,    0,    0}, /* todouble: ToDoubleTy(reg) = 32 */
05040   {    0,    0,    0,    0}, /* todoubleConst: ToDoubleTy(Constant) = 232 */
05041   {    0,    0,    0,    0}, /* (none) */
05042   {    0,    0,    0,    0}, /* (none) */
05043   {    0,    0,    0,    0}, /* (none) */
05044   {    0,    0,    0,    0}, /* (none) */
05045 },
05046 { /* state #56: ToFloatTy(VReg) */
05047   {0},
05048   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05049   {    0,    0,    0,    0}, /* reg: tofloat = 131 */
05050   {    0,    0,    0,    0}, /* (none) */
05051   {    0,    0,    0,    0}, /* (none) */
05052   {    0,    0,    0,    0}, /* (none) */
05053   {    0,    0,    0,    0}, /* (none) */
05054   {    0,    0,    0,    0}, /* (none) */
05055   {    0,    0,    0,    0}, /* (none) */
05056   {    0,    0,    0,    0}, /* (none) */
05057   {    0,    0,    0,    0}, /* (none) */
05058   {    0,    0,    0,    0}, /* (none) */
05059   {    0,    0,    0,    0}, /* (none) */
05060   {    0,    0,    0,    0}, /* tofloat: ToFloatTy(reg) = 31 */
05061   {    0,    0,    0,    0}, /* (none) */
05062   {    0,    0,    0,    0}, /* (none) */
05063   {    0,    0,    0,    0}, /* (none) */
05064   {    0,    0,    0,    0}, /* (none) */
05065   {    0,    0,    0,    0}, /* (none) */
05066   {    0,    0,    0,    0}, /* (none) */
05067 },
05068 { /* state #57: ToIntTy(VReg) */
05069   {0},
05070   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05071   {    0,    0,    0,    0}, /* reg: toint = 128 */
05072   {    0,    0,    0,    0}, /* (none) */
05073   {    0,    0,    0,    0}, /* (none) */
05074   {    0,    0,    0,    0}, /* (none) */
05075   {    0,    0,    0,    0}, /* (none) */
05076   {    0,    0,    0,    0}, /* (none) */
05077   {    0,    0,    0,    0}, /* (none) */
05078   {    0,    0,    0,    0}, /* (none) */
05079   {    0,    0,    0,    0}, /* toint: ToIntTy(reg) = 28 */
05080   {    0,    0,    0,    0}, /* (none) */
05081   {    0,    0,    0,    0}, /* (none) */
05082   {    0,    0,    0,    0}, /* (none) */
05083   {    0,    0,    0,    0}, /* (none) */
05084   {    0,    0,    0,    0}, /* (none) */
05085   {    0,    0,    0,    0}, /* (none) */
05086   {    0,    0,    0,    0}, /* (none) */
05087   {    0,    0,    0,    0}, /* (none) */
05088   {    0,    0,    0,    0}, /* (none) */
05089 },
05090 { /* state #58: ToLongTy(VReg) */
05091   {0},
05092   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05093   {    0,    0,    0,    0}, /* reg: tolong = 130 */
05094   {    0,    0,    0,    0}, /* (none) */
05095   {    0,    0,    0,    0}, /* (none) */
05096   {    0,    0,    0,    0}, /* (none) */
05097   {    0,    0,    0,    0}, /* (none) */
05098   {    0,    0,    0,    0}, /* (none) */
05099   {    0,    0,    0,    0}, /* (none) */
05100   {    0,    0,    0,    0}, /* (none) */
05101   {    0,    0,    0,    0}, /* (none) */
05102   {    0,    0,    0,    0}, /* (none) */
05103   {    0,    0,    0,    0}, /* tolong: ToLongTy(reg) = 30 */
05104   {    0,    0,    0,    0}, /* (none) */
05105   {    0,    0,    0,    0}, /* (none) */
05106   {    0,    0,    0,    0}, /* (none) */
05107   {    0,    0,    0,    0}, /* (none) */
05108   {    0,    0,    0,    0}, /* (none) */
05109   {    0,    0,    0,    0}, /* (none) */
05110   {    0,    0,    0,    0}, /* (none) */
05111 },
05112 { /* state #59: ToPointerTy(VReg) */
05113   {0},
05114   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05115   {    0,    0,    0,    0}, /* reg: ToPointerTy(reg) = 20 */
05116   {    0,    0,    0,    0}, /* (none) */
05117   {    0,    0,    0,    0}, /* (none) */
05118   {    0,    0,    0,    0}, /* (none) */
05119   {    0,    0,    0,    0}, /* (none) */
05120   {    0,    0,    0,    0}, /* (none) */
05121   {    0,    0,    0,    0}, /* (none) */
05122   {    0,    0,    0,    0}, /* (none) */
05123   {    0,    0,    0,    0}, /* (none) */
05124   {    0,    0,    0,    0}, /* (none) */
05125   {    0,    0,    0,    0}, /* (none) */
05126   {    0,    0,    0,    0}, /* (none) */
05127   {    0,    0,    0,    0}, /* (none) */
05128   {    0,    0,    0,    0}, /* (none) */
05129   {    0,    0,    0,    0}, /* (none) */
05130   {    0,    0,    0,    0}, /* (none) */
05131   {    0,    0,    0,    0}, /* (none) */
05132   {    0,    0,    0,    0}, /* (none) */
05133 },
05134 { /* state #60: ToSByteTy(VReg) */
05135   {0},
05136   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05137   {    0,    0,    0,    0}, /* reg: tosbyte = 124 */
05138   {    0,    0,    0,    0}, /* (none) */
05139   {    0,    0,    0,    0}, /* (none) */
05140   {    0,    0,    0,    0}, /* (none) */
05141   {    0,    0,    0,    0}, /* tosbyte: ToSByteTy(reg) = 24 */
05142   {    0,    0,    0,    0}, /* (none) */
05143   {    0,    0,    0,    0}, /* (none) */
05144   {    0,    0,    0,    0}, /* (none) */
05145   {    0,    0,    0,    0}, /* (none) */
05146   {    0,    0,    0,    0}, /* (none) */
05147   {    0,    0,    0,    0}, /* (none) */
05148   {    0,    0,    0,    0}, /* (none) */
05149   {    0,    0,    0,    0}, /* (none) */
05150   {    0,    0,    0,    0}, /* (none) */
05151   {    0,    0,    0,    0}, /* (none) */
05152   {    0,    0,    0,    0}, /* (none) */
05153   {    0,    0,    0,    0}, /* (none) */
05154   {    0,    0,    0,    0}, /* (none) */
05155 },
05156 { /* state #61: ToShortTy(VReg) */
05157   {0},
05158   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05159   {    0,    0,    0,    0}, /* reg: toshort = 126 */
05160   {    0,    0,    0,    0}, /* (none) */
05161   {    0,    0,    0,    0}, /* (none) */
05162   {    0,    0,    0,    0}, /* (none) */
05163   {    0,    0,    0,    0}, /* (none) */
05164   {    0,    0,    0,    0}, /* (none) */
05165   {    0,    0,    0,    0}, /* toshort: ToShortTy(reg) = 26 */
05166   {    0,    0,    0,    0}, /* (none) */
05167   {    0,    0,    0,    0}, /* (none) */
05168   {    0,    0,    0,    0}, /* (none) */
05169   {    0,    0,    0,    0}, /* (none) */
05170   {    0,    0,    0,    0}, /* (none) */
05171   {    0,    0,    0,    0}, /* (none) */
05172   {    0,    0,    0,    0}, /* (none) */
05173   {    0,    0,    0,    0}, /* (none) */
05174   {    0,    0,    0,    0}, /* (none) */
05175   {    0,    0,    0,    0}, /* (none) */
05176   {    0,    0,    0,    0}, /* (none) */
05177 },
05178 { /* state #62: ToUByteTy(VReg) */
05179   {0},
05180   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05181   {    0,    0,    0,    0}, /* reg: toubyte = 123 */
05182   {    0,    0,    0,    0}, /* (none) */
05183   {    0,    0,    0,    0}, /* (none) */
05184   {    0,    0,    0,    0}, /* toubyte: ToUByteTy(reg) = 23 */
05185   {    0,    0,    0,    0}, /* (none) */
05186   {    0,    0,    0,    0}, /* (none) */
05187   {    0,    0,    0,    0}, /* (none) */
05188   {    0,    0,    0,    0}, /* (none) */
05189   {    0,    0,    0,    0}, /* (none) */
05190   {    0,    0,    0,    0}, /* (none) */
05191   {    0,    0,    0,    0}, /* (none) */
05192   {    0,    0,    0,    0}, /* (none) */
05193   {    0,    0,    0,    0}, /* (none) */
05194   {    0,    0,    0,    0}, /* (none) */
05195   {    0,    0,    0,    0}, /* (none) */
05196   {    0,    0,    0,    0}, /* (none) */
05197   {    0,    0,    0,    0}, /* (none) */
05198   {    0,    0,    0,    0}, /* (none) */
05199 },
05200 { /* state #63: ToUIntTy(VReg) */
05201   {0},
05202   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05203   {    0,    0,    0,    0}, /* reg: touint = 127 */
05204   {    0,    0,    0,    0}, /* (none) */
05205   {    0,    0,    0,    0}, /* (none) */
05206   {    0,    0,    0,    0}, /* (none) */
05207   {    0,    0,    0,    0}, /* (none) */
05208   {    0,    0,    0,    0}, /* (none) */
05209   {    0,    0,    0,    0}, /* (none) */
05210   {    0,    0,    0,    0}, /* touint: ToUIntTy(reg) = 27 */
05211   {    0,    0,    0,    0}, /* (none) */
05212   {    0,    0,    0,    0}, /* (none) */
05213   {    0,    0,    0,    0}, /* (none) */
05214   {    0,    0,    0,    0}, /* (none) */
05215   {    0,    0,    0,    0}, /* (none) */
05216   {    0,    0,    0,    0}, /* (none) */
05217   {    0,    0,    0,    0}, /* (none) */
05218   {    0,    0,    0,    0}, /* (none) */
05219   {    0,    0,    0,    0}, /* (none) */
05220   {    0,    0,    0,    0}, /* (none) */
05221 },
05222 { /* state #64: ToULongTy(VReg) */
05223   {0},
05224   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05225   {    0,    0,    0,    0}, /* reg: toulong = 129 */
05226   {    0,    0,    0,    0}, /* (none) */
05227   {    0,    0,    0,    0}, /* (none) */
05228   {    0,    0,    0,    0}, /* (none) */
05229   {    0,    0,    0,    0}, /* (none) */
05230   {    0,    0,    0,    0}, /* (none) */
05231   {    0,    0,    0,    0}, /* (none) */
05232   {    0,    0,    0,    0}, /* (none) */
05233   {    0,    0,    0,    0}, /* (none) */
05234   {    0,    0,    0,    0}, /* toulong: ToULongTy(reg) = 29 */
05235   {    0,    0,    0,    0}, /* (none) */
05236   {    0,    0,    0,    0}, /* (none) */
05237   {    0,    0,    0,    0}, /* (none) */
05238   {    0,    0,    0,    0}, /* (none) */
05239   {    0,    0,    0,    0}, /* (none) */
05240   {    0,    0,    0,    0}, /* (none) */
05241   {    0,    0,    0,    0}, /* (none) */
05242   {    0,    0,    0,    0}, /* (none) */
05243 },
05244 { /* state #65: ToUShortTy(VReg) */
05245   {0},
05246   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05247   {    0,    0,    0,    0}, /* reg: toushort = 125 */
05248   {    0,    0,    0,    0}, /* (none) */
05249   {    0,    0,    0,    0}, /* (none) */
05250   {    0,    0,    0,    0}, /* (none) */
05251   {    0,    0,    0,    0}, /* (none) */
05252   {    0,    0,    0,    0}, /* toushort: ToUShortTy(reg) = 25 */
05253   {    0,    0,    0,    0}, /* (none) */
05254   {    0,    0,    0,    0}, /* (none) */
05255   {    0,    0,    0,    0}, /* (none) */
05256   {    0,    0,    0,    0}, /* (none) */
05257   {    0,    0,    0,    0}, /* (none) */
05258   {    0,    0,    0,    0}, /* (none) */
05259   {    0,    0,    0,    0}, /* (none) */
05260   {    0,    0,    0,    0}, /* (none) */
05261   {    0,    0,    0,    0}, /* (none) */
05262   {    0,    0,    0,    0}, /* (none) */
05263   {    0,    0,    0,    0}, /* (none) */
05264   {    0,    0,    0,    0}, /* (none) */
05265 },
05266 { /* state #66: VAArg(VReg) */
05267   {0},
05268   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05269   {    0,    0,    0,    0}, /* reg: VAArg(reg) = 66 */
05270   {    0,    0,    0,    0}, /* (none) */
05271   {    0,    0,    0,    0}, /* (none) */
05272   {    0,    0,    0,    0}, /* (none) */
05273   {    0,    0,    0,    0}, /* (none) */
05274   {    0,    0,    0,    0}, /* (none) */
05275   {    0,    0,    0,    0}, /* (none) */
05276   {    0,    0,    0,    0}, /* (none) */
05277   {    0,    0,    0,    0}, /* (none) */
05278   {    0,    0,    0,    0}, /* (none) */
05279   {    0,    0,    0,    0}, /* (none) */
05280   {    0,    0,    0,    0}, /* (none) */
05281   {    0,    0,    0,    0}, /* (none) */
05282   {    0,    0,    0,    0}, /* (none) */
05283   {    0,    0,    0,    0}, /* (none) */
05284   {    0,    0,    0,    0}, /* (none) */
05285   {    0,    0,    0,    0}, /* (none) */
05286   {    0,    0,    0,    0}, /* (none) */
05287 },
05288 { /* state #67: VReg */
05289   {0},
05290   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05291   {    0,    0,    0,    0}, /* reg: VReg = 71 */
05292   {    0,    0,    0,    0}, /* (none) */
05293   {    0,    0,    0,    0}, /* (none) */
05294   {    0,    0,    0,    0}, /* (none) */
05295   {    0,    0,    0,    0}, /* (none) */
05296   {    0,    0,    0,    0}, /* (none) */
05297   {    0,    0,    0,    0}, /* (none) */
05298   {    0,    0,    0,    0}, /* (none) */
05299   {    0,    0,    0,    0}, /* (none) */
05300   {    0,    0,    0,    0}, /* (none) */
05301   {    0,    0,    0,    0}, /* (none) */
05302   {    0,    0,    0,    0}, /* (none) */
05303   {    0,    0,    0,    0}, /* (none) */
05304   {    0,    0,    0,    0}, /* (none) */
05305   {    0,    0,    0,    0}, /* (none) */
05306   {    0,    0,    0,    0}, /* (none) */
05307   {    0,    0,    0,    0}, /* (none) */
05308   {    0,    0,    0,    0}, /* (none) */
05309 },
05310 { /* state #68: VRegList(VReg, VReg) */
05311   {0},
05312   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05313   {    0,    0,    0,    0}, /* reg: VRegList(reg, reg) = 10 */
05314   {    0,    0,    0,    0}, /* (none) */
05315   {    0,    0,    0,    0}, /* (none) */
05316   {    0,    0,    0,    0}, /* (none) */
05317   {    0,    0,    0,    0}, /* (none) */
05318   {    0,    0,    0,    0}, /* (none) */
05319   {    0,    0,    0,    0}, /* (none) */
05320   {    0,    0,    0,    0}, /* (none) */
05321   {    0,    0,    0,    0}, /* (none) */
05322   {    0,    0,    0,    0}, /* (none) */
05323   {    0,    0,    0,    0}, /* (none) */
05324   {    0,    0,    0,    0}, /* (none) */
05325   {    0,    0,    0,    0}, /* (none) */
05326   {    0,    0,    0,    0}, /* (none) */
05327   {    0,    0,    0,    0}, /* (none) */
05328   {    0,    0,    0,    0}, /* (none) */
05329   {    0,    0,    0,    0}, /* (none) */
05330   {    0,    0,    0,    0}, /* (none) */
05331 },
05332 { /* state #69: Xor(VReg, VReg) */
05333   {0},
05334   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05335   {    0,    0,    0,    0}, /* reg: Xor(reg, reg) = 40 */
05336   {    0,    0,    0,    0}, /* (none) */
05337   {    0,    0,    0,    0}, /* (none) */
05338   {    0,    0,    0,    0}, /* (none) */
05339   {    0,    0,    0,    0}, /* (none) */
05340   {    0,    0,    0,    0}, /* (none) */
05341   {    0,    0,    0,    0}, /* (none) */
05342   {    0,    0,    0,    0}, /* (none) */
05343   {    0,    0,    0,    0}, /* (none) */
05344   {    0,    0,    0,    0}, /* (none) */
05345   {    0,    0,    0,    0}, /* (none) */
05346   {    0,    0,    0,    0}, /* (none) */
05347   {    0,    0,    0,    0}, /* (none) */
05348   {    0,    0,    0,    0}, /* (none) */
05349   {    0,    0,    0,    0}, /* (none) */
05350   {    0,    0,    0,    0}, /* (none) */
05351   {    0,    0,    0,    0}, /* (none) */
05352   {    0,    0,    0,    0}, /* (none) */
05353 },
05354 { /* state #70: Xor(VReg, Constant) */
05355   {0},
05356   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05357   {    0,    0,    0,    0}, /* reg: Xor(reg, Constant) = 240 */
05358   {    0,    0,    0,    0}, /* (none) */
05359   {    0,    0,    0,    0}, /* (none) */
05360   {    0,    0,    0,    0}, /* (none) */
05361   {    0,    0,    0,    0}, /* (none) */
05362   {    0,    0,    0,    0}, /* (none) */
05363   {    0,    0,    0,    0}, /* (none) */
05364   {    0,    0,    0,    0}, /* (none) */
05365   {    0,    0,    0,    0}, /* (none) */
05366   {    0,    0,    0,    0}, /* (none) */
05367   {    0,    0,    0,    0}, /* (none) */
05368   {    0,    0,    0,    0}, /* (none) */
05369   {    0,    0,    0,    0}, /* (none) */
05370   {    0,    0,    0,    0}, /* (none) */
05371   {    0,    0,    0,    0}, /* (none) */
05372   {    0,    0,    0,    0}, /* (none) */
05373   {    0,    0,    0,    0}, /* (none) */
05374   {    0,    0,    0,    0}, /* (none) */
05375 },
05376 { /* state #71: Xor(VReg, Not(VReg, VReg)) */
05377   {0},
05378   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05379   {    0,    0,    0,    0}, /* reg: Xor(reg, not) = 140 */
05380   {    0,    0,    0,    0}, /* (none) */
05381   {    0,    0,    0,    0}, /* (none) */
05382   {    0,    0,    0,    0}, /* (none) */
05383   {    0,    0,    0,    0}, /* (none) */
05384   {    0,    0,    0,    0}, /* (none) */
05385   {    0,    0,    0,    0}, /* (none) */
05386   {    0,    0,    0,    0}, /* (none) */
05387   {    0,    0,    0,    0}, /* (none) */
05388   {    0,    0,    0,    0}, /* (none) */
05389   {    0,    0,    0,    0}, /* (none) */
05390   {    0,    0,    0,    0}, /* (none) */
05391   {    0,    0,    0,    0}, /* (none) */
05392   {    0,    0,    0,    0}, /* (none) */
05393   {    0,    0,    0,    0}, /* (none) */
05394   {    0,    0,    0,    0}, /* (none) */
05395   {    0,    0,    0,    0}, /* (none) */
05396   {    0,    0,    0,    0}, /* (none) */
05397 },
05398 };
05399 
05400 const char * burm_state_string[] = {
05401 " not a state", /* state 0 */
05402   "Add(VReg, VReg)", /* state #1 */
05403   "Add(VReg, Constant)", /* state #2 */
05404   "Alloca", /* state #3 */
05405   "AllocaN(VReg)", /* state #4 */
05406   "And(VReg, VReg)", /* state #5 */
05407   "And(VReg, Constant)", /* state #6 */
05408   "And(VReg, Not(VReg, VReg))", /* state #7 */
05409   "BAnd(VReg, VReg)", /* state #8 */
05410   "BAnd(VReg, Constant)", /* state #9 */
05411   "BAnd(VReg, BNot(VReg, VReg))", /* state #10 */
05412   "BNot(VReg, VReg)", /* state #11 */
05413   "BOr(VReg, VReg)", /* state #12 */
05414   "BOr(VReg, Constant)", /* state #13 */
05415   "BOr(VReg, BNot(VReg, VReg))", /* state #14 */
05416   "BXor(VReg, VReg)", /* state #15 */
05417   "BXor(VReg, Constant)", /* state #16 */
05418   "BXor(VReg, BNot(VReg, VReg))", /* state #17 */
05419   "BrCond(VReg)", /* state #18 */
05420   "BrCond(Constant)", /* state #19 */
05421   "BrCond(SetCC(VReg, VReg))", /* state #20 */
05422   "BrCond(SetCC(VReg, Constant))", /* state #21 */
05423   "BrUncond", /* state #22 */
05424   "Call", /* state #23 */
05425   "Constant", /* state #24 */
05426   "Div(VReg, VReg)", /* state #25 */
05427   "Div(VReg, Constant)", /* state #26 */
05428   "GetElemPtr(VReg)", /* state #27 */
05429   "GetElemPtrIdx(VReg, VReg)", /* state #28 */
05430   "Load(VReg)", /* state #29 */
05431   "Load(GetElemPtr(VReg))", /* state #30 */
05432   "Mul(VReg, VReg)", /* state #31 */
05433   "Mul(VReg, Constant)", /* state #32 */
05434   "Mul(ToDoubleTy(VReg), ToDoubleTy(VReg))", /* state #33 */
05435   "Mul(ToDoubleTy(VReg), ToDoubleTy(Constant))", /* state #34 */
05436   "Not(VReg, VReg)", /* state #35 */
05437   "Or(VReg, VReg)", /* state #36 */
05438   "Or(VReg, Constant)", /* state #37 */
05439   "Or(VReg, Not(VReg, VReg))", /* state #38 */
05440   "Phi(VReg, VReg)", /* state #39 */
05441   "Rem(VReg, VReg)", /* state #40 */
05442   "Rem(VReg, Constant)", /* state #41 */
05443   "Ret", /* state #42 */
05444   "RetValue(VReg)", /* state #43 */
05445   "SetCC(VReg, VReg)", /* state #44 */
05446   "SetCC(VReg, Constant)", /* state #45 */
05447   "Shl(VReg, VReg)", /* state #46 */
05448   "Shr(VReg, VReg)", /* state #47 */
05449   "Store(VReg, VReg)", /* state #48 */
05450   "Sub(VReg, VReg)", /* state #49 */
05451   "Sub(VReg, Constant)", /* state #50 */
05452   "Switch(VReg)", /* state #51 */
05453   "ToArrayTy(VReg)", /* state #52 */
05454   "ToBoolTy(VReg)", /* state #53 */
05455   "ToDoubleTy(VReg)", /* state #54 */
05456   "ToDoubleTy(Constant)", /* state #55 */
05457   "ToFloatTy(VReg)", /* state #56 */
05458   "ToIntTy(VReg)", /* state #57 */
05459   "ToLongTy(VReg)", /* state #58 */
05460   "ToPointerTy(VReg)", /* state #59 */
05461   "ToSByteTy(VReg)", /* state #60 */
05462   "ToShortTy(VReg)", /* state #61 */
05463   "ToUByteTy(VReg)", /* state #62 */
05464   "ToUIntTy(VReg)", /* state #63 */
05465   "ToULongTy(VReg)", /* state #64 */
05466   "ToUShortTy(VReg)", /* state #65 */
05467   "VAArg(VReg)", /* state #66 */
05468   "VReg", /* state #67 */
05469   "VRegList(VReg, VReg)", /* state #68 */
05470   "Xor(VReg, VReg)", /* state #69 */
05471   "Xor(VReg, Constant)", /* state #70 */
05472   "Xor(VReg, Not(VReg, VReg))", /* state #71 */
05473 };
05474 const char *burm_ntname[] = {
05475   "Error: Nonterminals are > 0",
05476   "stmt",
05477   "reg",
05478   "not",
05479   "tobool",
05480   "toubyte",
05481   "tosbyte",
05482   "toushort",
05483   "toshort",
05484   "touint",
05485   "toint",
05486   "toulong",
05487   "tolong",
05488   "tofloat",
05489   "todouble",
05490   "todoubleConst",
05491   "setCCconst",
05492   "setCC",
05493   "bnot",
05494   "ptrreg",
05495   0
05496 };
05497 
05498 short burm_closure[20][20] = {
05499   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05500        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05501   {    0,    0,  111,  111,  111,  111,  111,  111,  111,  111,
05502      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,},
05503   {    0,    0,    0,  221,  222,  123,  124,  125,  126,  127,
05504      128,  129,  130,  131,  132,  133,  241,  242,  321,  155,},
05505   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05506        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05507   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05508        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05509   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05510        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05511   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05512        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05513   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05514        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05515   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05516        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05517   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05518        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05519   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05520        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05521   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05522        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05523   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05524        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05525   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05526        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05527   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05528        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05529   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05530        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05531   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05532        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05533   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05534        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05535   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05536        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05537   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05538        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05539 };
05540 
05541 
05542 
05543 
05544 
05545 
05546 
05547 void printcover(NODEPTR_TYPE p, int goalnt, int indent) {
05548  int eruleno = burm_rule(STATE_LABEL(p), goalnt);
05549  short *nts = burm_nts[eruleno];
05550  NODEPTR_TYPE kids[10];
05551  int i;
05552 
05553  if (eruleno == 0) {
05554   printf("no cover\n");
05555   return;
05556  }
05557  for (i = 0; i < indent; i++)
05558   printf(".");
05559  printf("%s\n", burm_string[eruleno]);
05560  burm_kids(p, eruleno, kids);
05561  for (i = 0; nts[i]; i++)
05562   printcover(kids[i], nts[i], indent+1);
05563 }
05564 
05565 void printtree(NODEPTR_TYPE p) {
05566  int op = burm_op_label(p);
05567 
05568  printf("%s", burm_opname[op]);
05569  switch (burm_arity[op]) {
05570  case 0:
05571   break;
05572  case 1:
05573   printf("(");
05574   printtree(burm_child(p, 0));
05575   printf(")");
05576   break;
05577  case 2:
05578   printf("(");
05579   printtree(burm_child(p, 0));
05580   printf(", ");
05581   printtree(burm_child(p, 1));
05582   printf(")");
05583   break;
05584  }
05585 }
05586 
05587 int treecost(NODEPTR_TYPE p, int goalnt, int costindex) {
05588  int eruleno = burm_rule(STATE_LABEL(p), goalnt);
05589  int cost = burm_cost[eruleno][costindex], i;
05590  short *nts = burm_nts[eruleno];
05591  NODEPTR_TYPE kids[10];
05592 
05593  burm_kids(p, eruleno, kids);
05594  for (i = 0; nts[i]; i++)
05595   cost += treecost(kids[i], nts[i], costindex);
05596  return cost;
05597 }
05598 
05599 void printMatches(NODEPTR_TYPE p) {
05600  int nt;
05601  int eruleno;
05602 
05603  printf("Node 0x%lx= ", (unsigned long)p);
05604  printtree(p);
05605  printf(" matched rules:\n");
05606  for (nt = 1; burm_ntname[nt] != (char*)NULL; nt++)
05607   if ((eruleno = burm_rule(STATE_LABEL(p), nt)) != 0)
05608    printf("\t%s\n", burm_string[eruleno]);
05609 }