LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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   burm_r2_nts,
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,  35,   1,},  /* row 1 */
00693   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  22,   1,},  /* row 2 */
00694   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  10,   1,},  /* row 3 */
00695   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   9,   1,},  /* row 4 */
00696   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  61,   1,},  /* row 5 */
00697   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  59,   1,},  /* row 6 */
00698   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  60,   1,},  /* row 7 */
00699   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  29,   1,},  /* row 8 */
00700   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  16,   1,},  /* row 9 */
00701   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  28,   1,},  /* row 10 */
00702   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  23,   1,},  /* row 11 */
00703   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  27,   1,},  /* row 12 */
00704   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  15,   1,},  /* row 13 */
00705   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  26,   1,},  /* row 14 */
00706   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  25,   1,},  /* row 15 */
00707   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  14,   1,},  /* row 16 */
00708   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  24,   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,   8,   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,  31,   1,},  /* row 25 */
00717   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  18,   1,},  /* row 26 */
00718   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  11,   1,},  /* row 27 */
00719   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  11,   1,},  /* row 28 */
00720   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  13,   1,},  /* row 29 */
00721   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  12,   1,},  /* row 30 */
00722   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  33,   1,},  /* row 31 */
00723   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  20,   1,},  /* row 32 */
00724   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  32,   1,},  /* row 33 */
00725   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  19,   1,},  /* row 34 */
00726   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,  52,   1,},  /* row 35 */
00727   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  58,   1,},  /* row 36 */
00728   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  56,   1,},  /* row 37 */
00729   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  57,   1,},  /* row 38 */
00730   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   5,   1,},  /* row 39 */
00731   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  30,   1,},  /* row 40 */
00732   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  17,   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,  49,   1,},  /* row 44 */
00736   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  50,   1,},  /* row 45 */
00737   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   7,   1,},  /* row 46 */
00738   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   6,   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,  34,   1,},  /* row 49 */
00741   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  21,   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,  37,   1,},  /* row 52 */
00744   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,  51,   1,},  /* row 53 */
00745   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  39,   1,},  /* row 54 */
00746   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  38,   1,},  /* row 55 */
00747   {   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  40,   1,},  /* row 56 */
00748   {   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,  43,   1,},  /* row 57 */
00749   {   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,   0,  41,   1,},  /* row 58 */
00750   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  36,   1,},  /* row 59 */
00751   {   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,  47,   1,},  /* row 60 */
00752   {   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,  45,   1,},  /* row 61 */
00753   {   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0,  48,   1,},  /* row 62 */
00754   {   0,   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,  44,   1,},  /* row 63 */
00755   {   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  42,   1,},  /* row 64 */
00756   {   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,  46,   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,   4,   1,},  /* row 67 */
00759   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   2,   1,},  /* row 68 */
00760   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  62,   1,},  /* row 69 */
00761   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  55,   1,},  /* row 70 */
00762   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  53,   1,},  /* row 71 */
00763   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  54,   1,},  /* row 72 */
00764 };
00765 static struct {
00766   unsigned int f0:2;
00767   unsigned int f2:2;
00768   unsigned int f3:3;
00769   unsigned int f4:3;
00770   unsigned int f5:3;
00771   unsigned int f6:3;
00772   unsigned int f7:2;
00773   unsigned int f8:2;
00774   unsigned int f9:2;
00775   unsigned int f10:2;
00776   unsigned int f11:2;
00777   unsigned int f12:2;
00778   unsigned int f13:2;
00779   unsigned int f14:2;
00780 } burm_plank_1[] = {
00781   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 0 */
00782   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 1 */
00783   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 2 */
00784   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 3 */
00785   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 4 */
00786   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 5 */
00787   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 6 */
00788   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 7 */
00789   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 8 */
00790   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 9 */
00791   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 10 */
00792   {   1,   1,   1,   1,   1,   3,   1,   1,   0,   1,   0,   0,   0,   0,}, /* row 11 */
00793   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 12 */
00794   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 13 */
00795   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 14 */
00796   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 15 */
00797   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 16 */
00798   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 17 */
00799   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 18 */
00800   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 19 */
00801   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 20 */
00802   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 21 */
00803   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 22 */
00804   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 23 */
00805   {   1,   2,   1,   2,   2,   2,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 24 */
00806   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 25 */
00807   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 26 */
00808   {   1,   1,   1,   1,   1,   1,   1,   2,   2,   0,   0,   0,   0,   0,}, /* row 27 */
00809   {   1,   1,   1,   1,   1,   1,   1,   2,   1,   0,   0,   0,   0,   0,}, /* row 28 */
00810   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 29 */
00811   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 30 */
00812   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 31 */
00813   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 32 */
00814   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 33 */
00815   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 34 */
00816   {   1,   1,   1,   1,   3,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 35 */
00817   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 36 */
00818   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 37 */
00819   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 38 */
00820   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 39 */
00821   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 40 */
00822   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 41 */
00823   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 42 */
00824   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 43 */
00825   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   1,   0,   0,   0,}, /* row 44 */
00826   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   1,   1,   0,   0,}, /* row 45 */
00827   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 46 */
00828   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 47 */
00829   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 48 */
00830   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 49 */
00831   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 50 */
00832   {   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,}, /* row 51 */
00833   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 52 */
00834   {   1,   1,   1,   1,   1,   1,   2,   1,   0,   0,   0,   0,   0,   0,}, /* row 53 */
00835   {   1,   1,   2,   3,   1,   1,   1,   1,   0,   0,   0,   0,   0,   1,}, /* row 54 */
00836   {   1,   1,   3,   4,   1,   1,   1,   1,   0,   0,   0,   0,   1,   1,}, /* row 55 */
00837   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 56 */
00838   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 57 */
00839   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 58 */
00840   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 59 */
00841   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 60 */
00842   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 61 */
00843   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 62 */
00844   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 63 */
00845   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 64 */
00846   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 65 */
00847   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 66 */
00848   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 67 */
00849   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 68 */
00850   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 69 */
00851   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 70 */
00852   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 71 */
00853   {   1,   1,   1,   1,   1,   1,   1,   1,   0,   0,   0,   0,   0,   0,}, /* row 72 */
00854 };
00855 static struct {
00856   unsigned int f1:3;
00857 } burm_plank_2[] = {
00858   {   0,},  /* row 0 */
00859   {   1,},  /* row 1 */
00860   {   1,},  /* row 2 */
00861   {   1,},  /* row 3 */
00862   {   1,},  /* row 4 */
00863   {   1,},  /* row 5 */
00864   {   1,},  /* row 6 */
00865   {   1,},  /* row 7 */
00866   {   1,},  /* row 8 */
00867   {   1,},  /* row 9 */
00868   {   1,},  /* row 10 */
00869   {   1,},  /* row 11 */
00870   {   1,},  /* row 12 */
00871   {   1,},  /* row 13 */
00872   {   1,},  /* row 14 */
00873   {   1,},  /* row 15 */
00874   {   1,},  /* row 16 */
00875   {   1,},  /* row 17 */
00876   {   0,},  /* row 18 */
00877   {   0,},  /* row 19 */
00878   {   0,},  /* row 20 */
00879   {   0,},  /* row 21 */
00880   {   0,},  /* row 22 */
00881   {   1,},  /* row 23 */
00882   {   2,},  /* row 24 */
00883   {   1,},  /* row 25 */
00884   {   1,},  /* row 26 */
00885   {   1,},  /* row 27 */
00886   {   1,},  /* row 28 */
00887   {   1,},  /* row 29 */
00888   {   1,},  /* row 30 */
00889   {   1,},  /* row 31 */
00890   {   1,},  /* row 32 */
00891   {   1,},  /* row 33 */
00892   {   1,},  /* row 34 */
00893   {   1,},  /* row 35 */
00894   {   1,},  /* row 36 */
00895   {   1,},  /* row 37 */
00896   {   1,},  /* row 38 */
00897   {   1,},  /* row 39 */
00898   {   1,},  /* row 40 */
00899   {   1,},  /* row 41 */
00900   {   0,},  /* row 42 */
00901   {   0,},  /* row 43 */
00902   {   3,},  /* row 44 */
00903   {   4,},  /* row 45 */
00904   {   1,},  /* row 46 */
00905   {   1,},  /* row 47 */
00906   {   0,},  /* row 48 */
00907   {   1,},  /* row 49 */
00908   {   1,},  /* row 50 */
00909   {   0,},  /* row 51 */
00910   {   1,},  /* row 52 */
00911   {   1,},  /* row 53 */
00912   {   1,},  /* row 54 */
00913   {   1,},  /* row 55 */
00914   {   1,},  /* row 56 */
00915   {   1,},  /* row 57 */
00916   {   1,},  /* row 58 */
00917   {   1,},  /* row 59 */
00918   {   1,},  /* row 60 */
00919   {   1,},  /* row 61 */
00920   {   1,},  /* row 62 */
00921   {   1,},  /* row 63 */
00922   {   1,},  /* row 64 */
00923   {   1,},  /* row 65 */
00924   {   1,},  /* row 66 */
00925   {   1,},  /* row 67 */
00926   {   1,},  /* row 68 */
00927   {   1,},  /* row 69 */
00928   {   1,},  /* row 70 */
00929   {   1,},  /* row 71 */
00930   {   1,},  /* row 72 */
00931 };
00932 static short burm_eruleMap[] = {
00933     0,  421,    0,  322,   21,    0,   56,   55,    0,   72,  /* 0-9 */
00934    71,   66,   65,   64,   63,   62,   61,   58,   57,  155,  /* 10-19 */
00935    52,   51,  540,  539,  538,  237,  236,  335,  235,  234,  /* 20-29 */
00936   233,  321,  440,  340,  439,  339,  438,  338,   37,   36,  /* 30-39 */
00937   135,   35,   34,   33,   20,   19,  133,  132,  131,  130,  /* 40-49 */
00938   129,  128,  127,  126,  125,  124,  123,  242,  241,  222,  /* 50-59 */
00939   221,  240,  140,   40,  239,  139,   39,  238,  138,   38,  /* 60-69 */
00940    10,    0,   42,    0,   41,    0,  111,    9,  208,    8,  /* 70-79 */
00941   206,    6,    5,    4,    3,    2,    1,    0,   22,    0,  /* 80-89 */
00942    32,    0,  232,    0,   31,    0,   28,    0,   30,    0,  /* 90-99 */
00943    24,    0,   26,    0,   23,    0,   27,    0,   29,    0,  /* 100-109 */
00944    25
00945 };
00946 #define burm_stmt_rule(state) burm_eruleMap[burm_plank_0[state].f27 +75]
00947 #define burm_reg_rule(state)  burm_eruleMap[burm_plank_0[state].f26 +8]
00948 #define burm_not_rule(state)  burm_eruleMap[burm_plank_0[state].f25 +2]
00949 #define burm_tobool_rule(state) burm_eruleMap[burm_plank_0[state].f24 +87]
00950 #define burm_toubyte_rule(state)  burm_eruleMap[burm_plank_0[state].f23 +103]
00951 #define burm_tosbyte_rule(state)  burm_eruleMap[burm_plank_0[state].f22 +99]
00952 #define burm_toushort_rule(state) burm_eruleMap[burm_plank_0[state].f21 +109]
00953 #define burm_toshort_rule(state)  burm_eruleMap[burm_plank_0[state].f20 +101]
00954 #define burm_touint_rule(state) burm_eruleMap[burm_plank_0[state].f19 +105]
00955 #define burm_toint_rule(state)  burm_eruleMap[burm_plank_0[state].f18 +95]
00956 #define burm_toulong_rule(state)  burm_eruleMap[burm_plank_0[state].f17 +107]
00957 #define burm_tolong_rule(state) burm_eruleMap[burm_plank_0[state].f16 +97]
00958 #define burm_tofloat_rule(state)  burm_eruleMap[burm_plank_0[state].f15 +93]
00959 #define burm_todouble_rule(state) burm_eruleMap[burm_plank_1[state].f14 +89]
00960 #define burm_todoubleConst_rule(state)  burm_eruleMap[burm_plank_1[state].f13 +91]
00961 #define burm_setCCconst_rule(state) burm_eruleMap[burm_plank_1[state].f12 +73]
00962 #define burm_setCC_rule(state)  burm_eruleMap[burm_plank_1[state].f11 +71]
00963 #define burm_bnot_rule(state) burm_eruleMap[burm_plank_1[state].f10 +0]
00964 #define burm_ptrreg_rule(state) burm_eruleMap[burm_plank_1[state].f9 +5]
00965 
00966 #ifdef __STDC__
00967 int burm_rule(int state, int goalnt) {
00968 #else
00969 int burm_rule(state, goalnt) int state; int goalnt; {
00970 #endif
00971   burm_assert(state >= 0 && state < 73, burm_PANIC("Bad state %d passed to burm_rule\n", state));
00972   switch(goalnt) {
00973   case 1:
00974     return burm_stmt_rule(state);
00975   case 2:
00976     return burm_reg_rule(state);
00977   case 3:
00978     return burm_not_rule(state);
00979   case 4:
00980     return burm_tobool_rule(state);
00981   case 5:
00982     return burm_toubyte_rule(state);
00983   case 6:
00984     return burm_tosbyte_rule(state);
00985   case 7:
00986     return burm_toushort_rule(state);
00987   case 8:
00988     return burm_toshort_rule(state);
00989   case 9:
00990     return burm_touint_rule(state);
00991   case 10:
00992     return burm_toint_rule(state);
00993   case 11:
00994     return burm_toulong_rule(state);
00995   case 12:
00996     return burm_tolong_rule(state);
00997   case 13:
00998     return burm_tofloat_rule(state);
00999   case 14:
01000     return burm_todouble_rule(state);
01001   case 15:
01002     return burm_todoubleConst_rule(state);
01003   case 16:
01004     return burm_setCCconst_rule(state);
01005   case 17:
01006     return burm_setCC_rule(state);
01007   case 18:
01008     return burm_bnot_rule(state);
01009   case 19:
01010     return burm_ptrreg_rule(state);
01011   default:
01012     burm_PANIC("Unknown nonterminal %d in burm_rule;\n", goalnt);
01013     abort();
01014     return 0;
01015   }
01016 }
01017 
01018 int burm_TEMP;
01019 #define burm_Ret_state  42
01020 #define burm_RetValue_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 42 : 0 )
01021 #define burm_BrUncond_state 22
01022 #define burm_BrCond_state(l)  ( (burm_TEMP = burm_plank_2[l].f1) ? burm_TEMP + 17 : 0 )
01023 #define burm_Switch_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 50 : 0 )
01024 #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 )
01025 #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 )
01026 #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 )
01027 #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 )
01028 #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 )
01029 #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 )
01030 #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 )
01031 #define burm_Xor_state(l,r) ( (burm_TEMP = burm_Xor_transition[burm_plank_1[l].f0][burm_plank_1[r].f5]) ? burm_TEMP + 69 : 0 )
01032 #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 )
01033 #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 )
01034 #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 )
01035 #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 )
01036 #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 )
01037 #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 )
01038 #define burm_Malloc_state 0
01039 #define burm_Free_state 0
01040 #define burm_Alloca_state 3
01041 #define burm_AllocaN_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 3 : 0 )
01042 #define burm_Load_state(l)  ( (burm_TEMP = burm_plank_1[l].f8) ? burm_TEMP + 28 : 0 )
01043 #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 )
01044 #define burm_GetElemPtr_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 26 : 0 )
01045 #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 )
01046 #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 )
01047 #define burm_Cast_state 0
01048 #define burm_ToBoolTy_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 52 : 0 )
01049 #define burm_ToUByteTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 61 : 0 )
01050 #define burm_ToSByteTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 59 : 0 )
01051 #define burm_ToUShortTy_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 64 : 0 )
01052 #define burm_ToShortTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 60 : 0 )
01053 #define burm_ToUIntTy_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 62 : 0 )
01054 #define burm_ToIntTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 56 : 0 )
01055 #define burm_ToULongTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 63 : 0 )
01056 #define burm_ToLongTy_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 57 : 0 )
01057 #define burm_ToFloatTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 55 : 0 )
01058 #define burm_ToDoubleTy_state(l)  ( (burm_TEMP = burm_plank_1[l].f2) ? burm_TEMP + 53 : 0 )
01059 #define burm_ToArrayTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 51 : 0 )
01060 #define burm_ToPointerTy_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 58 : 0 )
01061 #define burm_Call_state 23
01062 #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 )
01063 #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 )
01064 #define burm_VANext_state(l)  ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 66 : 0 )
01065 #define burm_VAArg_state(l) ( (burm_TEMP = burm_plank_1[l].f0) ? burm_TEMP + 65 : 0 )
01066 #define burm_VRegList_state(l,r)  ( (burm_TEMP = burm_VRegList_transition[burm_plank_1[l].f0][burm_plank_1[r].f0]) ? burm_TEMP + 68 : 0 )
01067 #define burm_VReg_state 68
01068 #define burm_Constant_state 24
01069 #define burm_Label_state  0
01070 
01071 #ifdef __STDC__
01072 int burm_state(int op, int l, int r) {
01073 #else
01074 int burm_state(op, l, r) int op; int l; int r; {
01075 #endif
01076   register int burm_TEMP;
01077 #ifndef NDEBUG
01078   switch (op) {
01079   case 7:
01080   case 8:
01081   case 9:
01082   case 10:
01083   case 11:
01084   case 12:
01085   case 13:
01086   case 14:
01087   case 112:
01088   case 113:
01089   case 114:
01090   case 214:
01091   case 314:
01092   case 115:
01093   case 25:
01094   case 126:
01095   case 27:
01096   case 30:
01097   case 31:
01098   case 97:
01099     burm_assert(r >= 0 && r < 73, burm_PANIC("Bad state %d passed to burm_state\n", r));
01100     /*FALLTHROUGH*/
01101   case 101:
01102   case 102:
01103   case 3:
01104   case 123:
01105   case 24:
01106   case 26:
01107   case 128:
01108   case 129:
01109   case 130:
01110   case 131:
01111   case 132:
01112   case 133:
01113   case 134:
01114   case 135:
01115   case 136:
01116   case 137:
01117   case 138:
01118   case 139:
01119   case 140:
01120   case 32:
01121   case 33:
01122     burm_assert(l >= 0 && l < 73, burm_PANIC("Bad state %d passed to burm_state\n", l));
01123     /*FALLTHROUGH*/
01124   case 1:
01125   case 2:
01126   case 23:
01127   case 29:
01128   case 98:
01129   case 99:
01130     break;
01131   }
01132 #endif
01133   switch (op) {
01134   default: burm_PANIC("Unknown op %d in burm_state\n", op); abort(); return 0;
01135   case 1:
01136     return burm_Ret_state;
01137   case 101:
01138     return burm_RetValue_state(l);
01139   case 2:
01140     return burm_BrUncond_state;
01141   case 102:
01142     return burm_BrCond_state(l);
01143   case 3:
01144     return burm_Switch_state(l);
01145   case 7:
01146     return burm_Add_state(l,r);
01147   case 8:
01148     return burm_Sub_state(l,r);
01149   case 9:
01150     return burm_Mul_state(l,r);
01151   case 10:
01152     return burm_Div_state(l,r);
01153   case 11:
01154     return burm_Rem_state(l,r);
01155   case 12:
01156     return burm_And_state(l,r);
01157   case 13:
01158     return burm_Or_state(l,r);
01159   case 14:
01160     return burm_Xor_state(l,r);
01161   case 112:
01162     return burm_BAnd_state(l,r);
01163   case 113:
01164     return burm_BOr_state(l,r);
01165   case 114:
01166     return burm_BXor_state(l,r);
01167   case 214:
01168     return burm_BNot_state(l,r);
01169   case 314:
01170     return burm_Not_state(l,r);
01171   case 115:
01172     return burm_SetCC_state(l,r);
01173   case 21:
01174     return 0;
01175   case 22:
01176     return 0;
01177   case 23:
01178     return burm_Alloca_state;
01179   case 123:
01180     return burm_AllocaN_state(l);
01181   case 24:
01182     return burm_Load_state(l);
01183   case 25:
01184     return burm_Store_state(l,r);
01185   case 26:
01186     return burm_GetElemPtr_state(l);
01187   case 126:
01188     return burm_GetElemPtrIdx_state(l,r);
01189   case 27:
01190     return burm_Phi_state(l,r);
01191   case 28:
01192     return 0;
01193   case 128:
01194     return burm_ToBoolTy_state(l);
01195   case 129:
01196     return burm_ToUByteTy_state(l);
01197   case 130:
01198     return burm_ToSByteTy_state(l);
01199   case 131:
01200     return burm_ToUShortTy_state(l);
01201   case 132:
01202     return burm_ToShortTy_state(l);
01203   case 133:
01204     return burm_ToUIntTy_state(l);
01205   case 134:
01206     return burm_ToIntTy_state(l);
01207   case 135:
01208     return burm_ToULongTy_state(l);
01209   case 136:
01210     return burm_ToLongTy_state(l);
01211   case 137:
01212     return burm_ToFloatTy_state(l);
01213   case 138:
01214     return burm_ToDoubleTy_state(l);
01215   case 139:
01216     return burm_ToArrayTy_state(l);
01217   case 140:
01218     return burm_ToPointerTy_state(l);
01219   case 29:
01220     return burm_Call_state;
01221   case 30:
01222     return burm_Shl_state(l,r);
01223   case 31:
01224     return burm_Shr_state(l,r);
01225   case 32:
01226     return burm_VANext_state(l);
01227   case 33:
01228     return burm_VAArg_state(l);
01229   case 97:
01230     return burm_VRegList_state(l,r);
01231   case 98:
01232     return burm_VReg_state;
01233   case 99:
01234     return burm_Constant_state;
01235   case 100:
01236     return 0;
01237   }
01238 }
01239 #ifdef burm_STATE_LABEL
01240 #define burm_INCLUDE_EXTRA
01241 #else
01242 #ifdef STATE_LABEL
01243 #define burm_INCLUDE_EXTRA
01244 #define burm_STATE_LABEL  STATE_LABEL
01245 #define burm_NODEPTR_TYPE NODEPTR_TYPE
01246 #define burm_LEFT_CHILD   LEFT_CHILD
01247 #define burm_OP_LABEL     OP_LABEL
01248 #define burm_RIGHT_CHILD  RIGHT_CHILD
01249 #endif /* STATE_LABEL */
01250 #endif /* burm_STATE_LABEL */
01251 
01252 #ifdef burm_INCLUDE_EXTRA
01253 
01254 #ifdef __STDC__
01255 int burm_label(burm_NODEPTR_TYPE n) {
01256 #else
01257 int burm_label(n) burm_NODEPTR_TYPE n; {
01258 #endif
01259   burm_assert(n, burm_PANIC("NULL pointer passed to burm_label\n"));
01260   switch (burm_OP_LABEL(n)) {
01261   default: burm_PANIC("Bad op %d in burm_label\n", burm_OP_LABEL(n)); abort(); return 0;
01262   case 1:
01263   case 2:
01264   case 23:
01265   case 29:
01266   case 98:
01267   case 99:
01268     return burm_STATE_LABEL(n) = burm_state(burm_OP_LABEL(n), 0, 0);
01269   case 101:
01270   case 102:
01271   case 3:
01272   case 123:
01273   case 24:
01274   case 26:
01275   case 128:
01276   case 129:
01277   case 130:
01278   case 131:
01279   case 132:
01280   case 133:
01281   case 134:
01282   case 135:
01283   case 136:
01284   case 137:
01285   case 138:
01286   case 139:
01287   case 140:
01288   case 32:
01289   case 33:
01290     return burm_STATE_LABEL(n) = burm_state(burm_OP_LABEL(n), burm_label(burm_LEFT_CHILD(n)), 0);
01291   case 7:
01292   case 8:
01293   case 9:
01294   case 10:
01295   case 11:
01296   case 12:
01297   case 13:
01298   case 14:
01299   case 112:
01300   case 113:
01301   case 114:
01302   case 214:
01303   case 314:
01304   case 115:
01305   case 25:
01306   case 126:
01307   case 27:
01308   case 30:
01309   case 31:
01310   case 97:
01311     return burm_STATE_LABEL(n) = burm_state(burm_OP_LABEL(n), burm_label(burm_LEFT_CHILD(n)), burm_label(burm_RIGHT_CHILD(n)));
01312   }
01313 }
01314 #ifdef __STDC__
01315 burm_NODEPTR_TYPE * burm_kids(burm_NODEPTR_TYPE p, int rulenumber, burm_NODEPTR_TYPE *kids) {
01316 #else
01317 burm_NODEPTR_TYPE * burm_kids(p, rulenumber, kids) burm_NODEPTR_TYPE p; int rulenumber; burm_NODEPTR_TYPE *kids; {
01318 #endif
01319   burm_assert(p, burm_PANIC("NULL node pointer passed to burm_kids\n"));
01320   burm_assert(kids, burm_PANIC("NULL kids pointer passed to burm_kids\n"));
01321   switch (rulenumber) {
01322   default:
01323     burm_PANIC("Unknown Rule %d in burm_kids;\n", rulenumber);
01324     abort();
01325     /* NOTREACHED */
01326   case 111:
01327   case 221:
01328   case 222:
01329   case 241:
01330   case 242:
01331   case 123:
01332   case 124:
01333   case 125:
01334   case 126:
01335   case 127:
01336   case 128:
01337   case 129:
01338   case 130:
01339   case 131:
01340   case 132:
01341   case 133:
01342   case 321:
01343   case 155:
01344     kids[0] = p;
01345     break;
01346   case 3:
01347   case 4:
01348   case 10:
01349   case 21:
01350   case 322:
01351   case 38:
01352   case 138:
01353   case 39:
01354   case 139:
01355   case 40:
01356   case 140:
01357   case 42:
01358   case 33:
01359   case 34:
01360   case 35:
01361   case 135:
01362   case 36:
01363   case 37:
01364   case 338:
01365   case 438:
01366   case 339:
01367   case 439:
01368   case 340:
01369   case 440:
01370   case 421:
01371   case 335:
01372   case 56:
01373   case 62:
01374   case 63:
01375   case 64:
01376     kids[0] = burm_LEFT_CHILD(p);
01377     kids[1] = burm_RIGHT_CHILD(p);
01378     break;
01379   case 2:
01380   case 6:
01381   case 206:
01382   case 8:
01383   case 9:
01384   case 22:
01385   case 23:
01386   case 24:
01387   case 25:
01388   case 26:
01389   case 27:
01390   case 28:
01391   case 29:
01392   case 30:
01393   case 31:
01394   case 32:
01395   case 238:
01396   case 239:
01397   case 240:
01398   case 41:
01399   case 19:
01400   case 20:
01401   case 233:
01402   case 234:
01403   case 235:
01404   case 236:
01405   case 237:
01406   case 538:
01407   case 539:
01408   case 540:
01409   case 51:
01410   case 52:
01411   case 55:
01412   case 58:
01413   case 65:
01414   case 66:
01415     kids[0] = burm_LEFT_CHILD(p);
01416     break;
01417   case 1:
01418   case 5:
01419   case 208:
01420   case 232:
01421   case 57:
01422   case 61:
01423   case 71:
01424   case 72:
01425     break;
01426   }
01427   return kids;
01428 }
01429 #ifdef __STDC__
01430 burm_NODEPTR_TYPE burm_child(burm_NODEPTR_TYPE p, int index) {
01431 #else
01432 burm_NODEPTR_TYPE burm_child(p, index) burm_NODEPTR_TYPE p; int index; {
01433 #endif
01434   burm_assert(p, burm_PANIC("NULL pointer passed to burm_child\n"));
01435   switch (index) {
01436   case 0:
01437     return burm_LEFT_CHILD(p);
01438   case 1:
01439     return burm_RIGHT_CHILD(p);
01440   }
01441   burm_PANIC("Bad index %d in burm_child;\n", index);
01442   abort();
01443   return 0;
01444 }
01445 #ifdef __STDC__
01446 int burm_op_label(burm_NODEPTR_TYPE p) {
01447 #else
01448 int burm_op_label(p) burm_NODEPTR_TYPE p; {
01449 #endif
01450   burm_assert(p, burm_PANIC("NULL pointer passed to burm_op_label\n"));
01451   return burm_OP_LABEL(p);
01452 }
01453 #ifdef __STDC__
01454 int burm_state_label(burm_NODEPTR_TYPE p) {
01455 #else
01456 int burm_state_label(p) burm_NODEPTR_TYPE p; {
01457 #endif
01458   burm_assert(p, burm_PANIC("NULL pointer passed to burm_state_label\n"));
01459   return burm_STATE_LABEL(p);
01460 }
01461 #endif /* burm_INCLUDE_EXTRA */
01462 #define burm_ptrreg_NT 19
01463 #define burm_bnot_NT 18
01464 #define burm_setCC_NT 17
01465 #define burm_setCCconst_NT 16
01466 #define burm_todoubleConst_NT 15
01467 #define burm_todouble_NT 14
01468 #define burm_tofloat_NT 13
01469 #define burm_tolong_NT 12
01470 #define burm_toulong_NT 11
01471 #define burm_toint_NT 10
01472 #define burm_touint_NT 9
01473 #define burm_toshort_NT 8
01474 #define burm_toushort_NT 7
01475 #define burm_tosbyte_NT 6
01476 #define burm_toubyte_NT 5
01477 #define burm_tobool_NT 4
01478 #define burm_not_NT 3
01479 #define burm_reg_NT 2
01480 #define burm_stmt_NT 1
01481 #define burm_NT 19
01482 const char * burm_opname[] = {
01483   0, /* 0 */
01484   "Ret", /* 1 */
01485   "BrUncond", /* 2 */
01486   "Switch", /* 3 */
01487   0, /* 4 */
01488   0, /* 5 */
01489   0, /* 6 */
01490   "Add", /* 7 */
01491   "Sub", /* 8 */
01492   "Mul", /* 9 */
01493   "Div", /* 10 */
01494   "Rem", /* 11 */
01495   "And", /* 12 */
01496   "Or", /* 13 */
01497   "Xor", /* 14 */
01498   0, /* 15 */
01499   0, /* 16 */
01500   0, /* 17 */
01501   0, /* 18 */
01502   0, /* 19 */
01503   0, /* 20 */
01504   "Malloc", /* 21 */
01505   "Free", /* 22 */
01506   "Alloca", /* 23 */
01507   "Load", /* 24 */
01508   "Store", /* 25 */
01509   "GetElemPtr", /* 26 */
01510   "Phi", /* 27 */
01511   "Cast", /* 28 */
01512   "Call", /* 29 */
01513   "Shl", /* 30 */
01514   "Shr", /* 31 */
01515   "VANext", /* 32 */
01516   "VAArg", /* 33 */
01517   0, /* 34 */
01518   0, /* 35 */
01519   0, /* 36 */
01520   0, /* 37 */
01521   0, /* 38 */
01522   0, /* 39 */
01523   0, /* 40 */
01524   0, /* 41 */
01525   0, /* 42 */
01526   0, /* 43 */
01527   0, /* 44 */
01528   0, /* 45 */
01529   0, /* 46 */
01530   0, /* 47 */
01531   0, /* 48 */
01532   0, /* 49 */
01533   0, /* 50 */
01534   0, /* 51 */
01535   0, /* 52 */
01536   0, /* 53 */
01537   0, /* 54 */
01538   0, /* 55 */
01539   0, /* 56 */
01540   0, /* 57 */
01541   0, /* 58 */
01542   0, /* 59 */
01543   0, /* 60 */
01544   0, /* 61 */
01545   0, /* 62 */
01546   0, /* 63 */
01547   0, /* 64 */
01548   0, /* 65 */
01549   0, /* 66 */
01550   0, /* 67 */
01551   0, /* 68 */
01552   0, /* 69 */
01553   0, /* 70 */
01554   0, /* 71 */
01555   0, /* 72 */
01556   0, /* 73 */
01557   0, /* 74 */
01558   0, /* 75 */
01559   0, /* 76 */
01560   0, /* 77 */
01561   0, /* 78 */
01562   0, /* 79 */
01563   0, /* 80 */
01564   0, /* 81 */
01565   0, /* 82 */
01566   0, /* 83 */
01567   0, /* 84 */
01568   0, /* 85 */
01569   0, /* 86 */
01570   0, /* 87 */
01571   0, /* 88 */
01572   0, /* 89 */
01573   0, /* 90 */
01574   0, /* 91 */
01575   0, /* 92 */
01576   0, /* 93 */
01577   0, /* 94 */
01578   0, /* 95 */
01579   0, /* 96 */
01580   "VRegList", /* 97 */
01581   "VReg", /* 98 */
01582   "Constant", /* 99 */
01583   "Label", /* 100 */
01584   "RetValue", /* 101 */
01585   "BrCond", /* 102 */
01586   0, /* 103 */
01587   0, /* 104 */
01588   0, /* 105 */
01589   0, /* 106 */
01590   0, /* 107 */
01591   0, /* 108 */
01592   0, /* 109 */
01593   0, /* 110 */
01594   0, /* 111 */
01595   "BAnd", /* 112 */
01596   "BOr", /* 113 */
01597   "BXor", /* 114 */
01598   "SetCC", /* 115 */
01599   0, /* 116 */
01600   0, /* 117 */
01601   0, /* 118 */
01602   0, /* 119 */
01603   0, /* 120 */
01604   0, /* 121 */
01605   0, /* 122 */
01606   "AllocaN", /* 123 */
01607   0, /* 124 */
01608   0, /* 125 */
01609   "GetElemPtrIdx", /* 126 */
01610   0, /* 127 */
01611   "ToBoolTy", /* 128 */
01612   "ToUByteTy", /* 129 */
01613   "ToSByteTy", /* 130 */
01614   "ToUShortTy", /* 131 */
01615   "ToShortTy", /* 132 */
01616   "ToUIntTy", /* 133 */
01617   "ToIntTy", /* 134 */
01618   "ToULongTy", /* 135 */
01619   "ToLongTy", /* 136 */
01620   "ToFloatTy", /* 137 */
01621   "ToDoubleTy", /* 138 */
01622   "ToArrayTy", /* 139 */
01623   "ToPointerTy", /* 140 */
01624   0, /* 141 */
01625   0, /* 142 */
01626   0, /* 143 */
01627   0, /* 144 */
01628   0, /* 145 */
01629   0, /* 146 */
01630   0, /* 147 */
01631   0, /* 148 */
01632   0, /* 149 */
01633   0, /* 150 */
01634   0, /* 151 */
01635   0, /* 152 */
01636   0, /* 153 */
01637   0, /* 154 */
01638   0, /* 155 */
01639   0, /* 156 */
01640   0, /* 157 */
01641   0, /* 158 */
01642   0, /* 159 */
01643   0, /* 160 */
01644   0, /* 161 */
01645   0, /* 162 */
01646   0, /* 163 */
01647   0, /* 164 */
01648   0, /* 165 */
01649   0, /* 166 */
01650   0, /* 167 */
01651   0, /* 168 */
01652   0, /* 169 */
01653   0, /* 170 */
01654   0, /* 171 */
01655   0, /* 172 */
01656   0, /* 173 */
01657   0, /* 174 */
01658   0, /* 175 */
01659   0, /* 176 */
01660   0, /* 177 */
01661   0, /* 178 */
01662   0, /* 179 */
01663   0, /* 180 */
01664   0, /* 181 */
01665   0, /* 182 */
01666   0, /* 183 */
01667   0, /* 184 */
01668   0, /* 185 */
01669   0, /* 186 */
01670   0, /* 187 */
01671   0, /* 188 */
01672   0, /* 189 */
01673   0, /* 190 */
01674   0, /* 191 */
01675   0, /* 192 */
01676   0, /* 193 */
01677   0, /* 194 */
01678   0, /* 195 */
01679   0, /* 196 */
01680   0, /* 197 */
01681   0, /* 198 */
01682   0, /* 199 */
01683   0, /* 200 */
01684   0, /* 201 */
01685   0, /* 202 */
01686   0, /* 203 */
01687   0, /* 204 */
01688   0, /* 205 */
01689   0, /* 206 */
01690   0, /* 207 */
01691   0, /* 208 */
01692   0, /* 209 */
01693   0, /* 210 */
01694   0, /* 211 */
01695   0, /* 212 */
01696   0, /* 213 */
01697   "BNot", /* 214 */
01698   0, /* 215 */
01699   0, /* 216 */
01700   0, /* 217 */
01701   0, /* 218 */
01702   0, /* 219 */
01703   0, /* 220 */
01704   0, /* 221 */
01705   0, /* 222 */
01706   0, /* 223 */
01707   0, /* 224 */
01708   0, /* 225 */
01709   0, /* 226 */
01710   0, /* 227 */
01711   0, /* 228 */
01712   0, /* 229 */
01713   0, /* 230 */
01714   0, /* 231 */
01715   0, /* 232 */
01716   0, /* 233 */
01717   0, /* 234 */
01718   0, /* 235 */
01719   0, /* 236 */
01720   0, /* 237 */
01721   0, /* 238 */
01722   0, /* 239 */
01723   0, /* 240 */
01724   0, /* 241 */
01725   0, /* 242 */
01726   0, /* 243 */
01727   0, /* 244 */
01728   0, /* 245 */
01729   0, /* 246 */
01730   0, /* 247 */
01731   0, /* 248 */
01732   0, /* 249 */
01733   0, /* 250 */
01734   0, /* 251 */
01735   0, /* 252 */
01736   0, /* 253 */
01737   0, /* 254 */
01738   0, /* 255 */
01739   0, /* 256 */
01740   0, /* 257 */
01741   0, /* 258 */
01742   0, /* 259 */
01743   0, /* 260 */
01744   0, /* 261 */
01745   0, /* 262 */
01746   0, /* 263 */
01747   0, /* 264 */
01748   0, /* 265 */
01749   0, /* 266 */
01750   0, /* 267 */
01751   0, /* 268 */
01752   0, /* 269 */
01753   0, /* 270 */
01754   0, /* 271 */
01755   0, /* 272 */
01756   0, /* 273 */
01757   0, /* 274 */
01758   0, /* 275 */
01759   0, /* 276 */
01760   0, /* 277 */
01761   0, /* 278 */
01762   0, /* 279 */
01763   0, /* 280 */
01764   0, /* 281 */
01765   0, /* 282 */
01766   0, /* 283 */
01767   0, /* 284 */
01768   0, /* 285 */
01769   0, /* 286 */
01770   0, /* 287 */
01771   0, /* 288 */
01772   0, /* 289 */
01773   0, /* 290 */
01774   0, /* 291 */
01775   0, /* 292 */
01776   0, /* 293 */
01777   0, /* 294 */
01778   0, /* 295 */
01779   0, /* 296 */
01780   0, /* 297 */
01781   0, /* 298 */
01782   0, /* 299 */
01783   0, /* 300 */
01784   0, /* 301 */
01785   0, /* 302 */
01786   0, /* 303 */
01787   0, /* 304 */
01788   0, /* 305 */
01789   0, /* 306 */
01790   0, /* 307 */
01791   0, /* 308 */
01792   0, /* 309 */
01793   0, /* 310 */
01794   0, /* 311 */
01795   0, /* 312 */
01796   0, /* 313 */
01797   "Not"
01798 };
01799 char burm_arity[] = {
01800   -1, /* 0 */
01801   0, /* 1 */
01802   0, /* 2 */
01803   1, /* 3 */
01804   -1, /* 4 */
01805   -1, /* 5 */
01806   -1, /* 6 */
01807   2, /* 7 */
01808   2, /* 8 */
01809   2, /* 9 */
01810   2, /* 10 */
01811   2, /* 11 */
01812   2, /* 12 */
01813   2, /* 13 */
01814   2, /* 14 */
01815   -1, /* 15 */
01816   -1, /* 16 */
01817   -1, /* 17 */
01818   -1, /* 18 */
01819   -1, /* 19 */
01820   -1, /* 20 */
01821   -1, /* 21 */
01822   -1, /* 22 */
01823   0, /* 23 */
01824   1, /* 24 */
01825   2, /* 25 */
01826   1, /* 26 */
01827   2, /* 27 */
01828   -1, /* 28 */
01829   0, /* 29 */
01830   2, /* 30 */
01831   2, /* 31 */
01832   1, /* 32 */
01833   1, /* 33 */
01834   -1, /* 34 */
01835   -1, /* 35 */
01836   -1, /* 36 */
01837   -1, /* 37 */
01838   -1, /* 38 */
01839   -1, /* 39 */
01840   -1, /* 40 */
01841   -1, /* 41 */
01842   -1, /* 42 */
01843   -1, /* 43 */
01844   -1, /* 44 */
01845   -1, /* 45 */
01846   -1, /* 46 */
01847   -1, /* 47 */
01848   -1, /* 48 */
01849   -1, /* 49 */
01850   -1, /* 50 */
01851   -1, /* 51 */
01852   -1, /* 52 */
01853   -1, /* 53 */
01854   -1, /* 54 */
01855   -1, /* 55 */
01856   -1, /* 56 */
01857   -1, /* 57 */
01858   -1, /* 58 */
01859   -1, /* 59 */
01860   -1, /* 60 */
01861   -1, /* 61 */
01862   -1, /* 62 */
01863   -1, /* 63 */
01864   -1, /* 64 */
01865   -1, /* 65 */
01866   -1, /* 66 */
01867   -1, /* 67 */
01868   -1, /* 68 */
01869   -1, /* 69 */
01870   -1, /* 70 */
01871   -1, /* 71 */
01872   -1, /* 72 */
01873   -1, /* 73 */
01874   -1, /* 74 */
01875   -1, /* 75 */
01876   -1, /* 76 */
01877   -1, /* 77 */
01878   -1, /* 78 */
01879   -1, /* 79 */
01880   -1, /* 80 */
01881   -1, /* 81 */
01882   -1, /* 82 */
01883   -1, /* 83 */
01884   -1, /* 84 */
01885   -1, /* 85 */
01886   -1, /* 86 */
01887   -1, /* 87 */
01888   -1, /* 88 */
01889   -1, /* 89 */
01890   -1, /* 90 */
01891   -1, /* 91 */
01892   -1, /* 92 */
01893   -1, /* 93 */
01894   -1, /* 94 */
01895   -1, /* 95 */
01896   -1, /* 96 */
01897   2, /* 97 */
01898   0, /* 98 */
01899   0, /* 99 */
01900   -1, /* 100 */
01901   1, /* 101 */
01902   1, /* 102 */
01903   -1, /* 103 */
01904   -1, /* 104 */
01905   -1, /* 105 */
01906   -1, /* 106 */
01907   -1, /* 107 */
01908   -1, /* 108 */
01909   -1, /* 109 */
01910   -1, /* 110 */
01911   -1, /* 111 */
01912   2, /* 112 */
01913   2, /* 113 */
01914   2, /* 114 */
01915   2, /* 115 */
01916   -1, /* 116 */
01917   -1, /* 117 */
01918   -1, /* 118 */
01919   -1, /* 119 */
01920   -1, /* 120 */
01921   -1, /* 121 */
01922   -1, /* 122 */
01923   1, /* 123 */
01924   -1, /* 124 */
01925   -1, /* 125 */
01926   2, /* 126 */
01927   -1, /* 127 */
01928   1, /* 128 */
01929   1, /* 129 */
01930   1, /* 130 */
01931   1, /* 131 */
01932   1, /* 132 */
01933   1, /* 133 */
01934   1, /* 134 */
01935   1, /* 135 */
01936   1, /* 136 */
01937   1, /* 137 */
01938   1, /* 138 */
01939   1, /* 139 */
01940   1, /* 140 */
01941   -1, /* 141 */
01942   -1, /* 142 */
01943   -1, /* 143 */
01944   -1, /* 144 */
01945   -1, /* 145 */
01946   -1, /* 146 */
01947   -1, /* 147 */
01948   -1, /* 148 */
01949   -1, /* 149 */
01950   -1, /* 150 */
01951   -1, /* 151 */
01952   -1, /* 152 */
01953   -1, /* 153 */
01954   -1, /* 154 */
01955   -1, /* 155 */
01956   -1, /* 156 */
01957   -1, /* 157 */
01958   -1, /* 158 */
01959   -1, /* 159 */
01960   -1, /* 160 */
01961   -1, /* 161 */
01962   -1, /* 162 */
01963   -1, /* 163 */
01964   -1, /* 164 */
01965   -1, /* 165 */
01966   -1, /* 166 */
01967   -1, /* 167 */
01968   -1, /* 168 */
01969   -1, /* 169 */
01970   -1, /* 170 */
01971   -1, /* 171 */
01972   -1, /* 172 */
01973   -1, /* 173 */
01974   -1, /* 174 */
01975   -1, /* 175 */
01976   -1, /* 176 */
01977   -1, /* 177 */
01978   -1, /* 178 */
01979   -1, /* 179 */
01980   -1, /* 180 */
01981   -1, /* 181 */
01982   -1, /* 182 */
01983   -1, /* 183 */
01984   -1, /* 184 */
01985   -1, /* 185 */
01986   -1, /* 186 */
01987   -1, /* 187 */
01988   -1, /* 188 */
01989   -1, /* 189 */
01990   -1, /* 190 */
01991   -1, /* 191 */
01992   -1, /* 192 */
01993   -1, /* 193 */
01994   -1, /* 194 */
01995   -1, /* 195 */
01996   -1, /* 196 */
01997   -1, /* 197 */
01998   -1, /* 198 */
01999   -1, /* 199 */
02000   -1, /* 200 */
02001   -1, /* 201 */
02002   -1, /* 202 */
02003   -1, /* 203 */
02004   -1, /* 204 */
02005   -1, /* 205 */
02006   -1, /* 206 */
02007   -1, /* 207 */
02008   -1, /* 208 */
02009   -1, /* 209 */
02010   -1, /* 210 */
02011   -1, /* 211 */
02012   -1, /* 212 */
02013   -1, /* 213 */
02014   2, /* 214 */
02015   -1, /* 215 */
02016   -1, /* 216 */
02017   -1, /* 217 */
02018   -1, /* 218 */
02019   -1, /* 219 */
02020   -1, /* 220 */
02021   -1, /* 221 */
02022   -1, /* 222 */
02023   -1, /* 223 */
02024   -1, /* 224 */
02025   -1, /* 225 */
02026   -1, /* 226 */
02027   -1, /* 227 */
02028   -1, /* 228 */
02029   -1, /* 229 */
02030   -1, /* 230 */
02031   -1, /* 231 */
02032   -1, /* 232 */
02033   -1, /* 233 */
02034   -1, /* 234 */
02035   -1, /* 235 */
02036   -1, /* 236 */
02037   -1, /* 237 */
02038   -1, /* 238 */
02039   -1, /* 239 */
02040   -1, /* 240 */
02041   -1, /* 241 */
02042   -1, /* 242 */
02043   -1, /* 243 */
02044   -1, /* 244 */
02045   -1, /* 245 */
02046   -1, /* 246 */
02047   -1, /* 247 */
02048   -1, /* 248 */
02049   -1, /* 249 */
02050   -1, /* 250 */
02051   -1, /* 251 */
02052   -1, /* 252 */
02053   -1, /* 253 */
02054   -1, /* 254 */
02055   -1, /* 255 */
02056   -1, /* 256 */
02057   -1, /* 257 */
02058   -1, /* 258 */
02059   -1, /* 259 */
02060   -1, /* 260 */
02061   -1, /* 261 */
02062   -1, /* 262 */
02063   -1, /* 263 */
02064   -1, /* 264 */
02065   -1, /* 265 */
02066   -1, /* 266 */
02067   -1, /* 267 */
02068   -1, /* 268 */
02069   -1, /* 269 */
02070   -1, /* 270 */
02071   -1, /* 271 */
02072   -1, /* 272 */
02073   -1, /* 273 */
02074   -1, /* 274 */
02075   -1, /* 275 */
02076   -1, /* 276 */
02077   -1, /* 277 */
02078   -1, /* 278 */
02079   -1, /* 279 */
02080   -1, /* 280 */
02081   -1, /* 281 */
02082   -1, /* 282 */
02083   -1, /* 283 */
02084   -1, /* 284 */
02085   -1, /* 285 */
02086   -1, /* 286 */
02087   -1, /* 287 */
02088   -1, /* 288 */
02089   -1, /* 289 */
02090   -1, /* 290 */
02091   -1, /* 291 */
02092   -1, /* 292 */
02093   -1, /* 293 */
02094   -1, /* 294 */
02095   -1, /* 295 */
02096   -1, /* 296 */
02097   -1, /* 297 */
02098   -1, /* 298 */
02099   -1, /* 299 */
02100   -1, /* 300 */
02101   -1, /* 301 */
02102   -1, /* 302 */
02103   -1, /* 303 */
02104   -1, /* 304 */
02105   -1, /* 305 */
02106   -1, /* 306 */
02107   -1, /* 307 */
02108   -1, /* 308 */
02109   -1, /* 309 */
02110   -1, /* 310 */
02111   -1, /* 311 */
02112   -1, /* 312 */
02113   -1, /* 313 */
02114   2
02115 };
02116 int burm_max_op = 314;
02117 int burm_max_state = 72;
02118 #define burm_Max_state 72
02119 const char *burm_string[] = {
02120   0,
02121   "stmt: Ret",
02122   "stmt: RetValue(reg)",
02123   "stmt: Store(reg, reg)",
02124   "stmt: Store(reg, ptrreg)",
02125   "stmt: BrUncond",
02126   "stmt: BrCond(setCC)",
02127   0,
02128   "stmt: BrCond(reg)",
02129   "stmt: Switch(reg)",
02130   "reg: VRegList(reg, reg)",
02131   0,
02132   0,
02133   0,
02134   0,
02135   0,
02136   0,
02137   0,
02138   0,
02139   "reg: ToArrayTy(reg)",
02140   "reg: ToPointerTy(reg)",
02141   "not: Not(reg, reg)",
02142   "tobool: ToBoolTy(reg)",
02143   "toubyte: ToUByteTy(reg)",
02144   "tosbyte: ToSByteTy(reg)",
02145   "toushort: ToUShortTy(reg)",
02146   "toshort: ToShortTy(reg)",
02147   "touint: ToUIntTy(reg)",
02148   "toint: ToIntTy(reg)",
02149   "toulong: ToULongTy(reg)",
02150   "tolong: ToLongTy(reg)",
02151   "tofloat: ToFloatTy(reg)",
02152   "todouble: ToDoubleTy(reg)",
02153   "reg: Add(reg, reg)",
02154   "reg: Sub(reg, reg)",
02155   "reg: Mul(reg, reg)",
02156   "reg: Div(reg, reg)",
02157   "reg: Rem(reg, reg)",
02158   "reg: And(reg, reg)",
02159   "reg: Or(reg, reg)",
02160   "reg: Xor(reg, reg)",
02161   "setCCconst: SetCC(reg, Constant)",
02162   "setCC: SetCC(reg, reg)",
02163   0,
02164   0,
02165   0,
02166   0,
02167   0,
02168   0,
02169   0,
02170   0,
02171   "reg: Load(reg)",
02172   "reg: Load(ptrreg)",
02173   0,
02174   0,
02175   "ptrreg: GetElemPtr(reg)",
02176   "ptrreg: GetElemPtrIdx(reg, reg)",
02177   "reg: Alloca",
02178   "reg: AllocaN(reg)",
02179   0,
02180   0,
02181   "reg: Call",
02182   "reg: Shl(reg, reg)",
02183   "reg: Shr(reg, reg)",
02184   "reg: Phi(reg, reg)",
02185   "reg: VANext(reg)",
02186   "reg: VAArg(reg)",
02187   0,
02188   0,
02189   0,
02190   0,
02191   "reg: VReg",
02192   "reg: Constant",
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   0,
02222   0,
02223   0,
02224   0,
02225   0,
02226   0,
02227   0,
02228   0,
02229   0,
02230   0,
02231   "stmt: reg",
02232   0,
02233   0,
02234   0,
02235   0,
02236   0,
02237   0,
02238   0,
02239   0,
02240   0,
02241   0,
02242   0,
02243   "reg: toubyte",
02244   "reg: tosbyte",
02245   "reg: toushort",
02246   "reg: toshort",
02247   "reg: touint",
02248   "reg: toint",
02249   "reg: toulong",
02250   "reg: tolong",
02251   "reg: tofloat",
02252   "reg: todouble",
02253   "reg: todoubleConst",
02254   0,
02255   "reg: Mul(todouble, todouble)",
02256   0,
02257   0,
02258   "reg: And(reg, not)",
02259   "reg: Or(reg, not)",
02260   "reg: Xor(reg, not)",
02261   0,
02262   0,
02263   0,
02264   0,
02265   0,
02266   0,
02267   0,
02268   0,
02269   0,
02270   0,
02271   0,
02272   0,
02273   0,
02274   0,
02275   "reg: ptrreg",
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   0,
02317   0,
02318   0,
02319   0,
02320   0,
02321   0,
02322   0,
02323   0,
02324   0,
02325   0,
02326   "stmt: BrCond(setCCconst)",
02327   0,
02328   "stmt: BrCond(Constant)",
02329   0,
02330   0,
02331   0,
02332   0,
02333   0,
02334   0,
02335   0,
02336   0,
02337   0,
02338   0,
02339   0,
02340   0,
02341   "reg: not",
02342   "reg: tobool",
02343   0,
02344   0,
02345   0,
02346   0,
02347   0,
02348   0,
02349   0,
02350   0,
02351   0,
02352   "todoubleConst: ToDoubleTy(Constant)",
02353   "reg: Add(reg, Constant)",
02354   "reg: Sub(reg, Constant)",
02355   "reg: Mul(reg, Constant)",
02356   "reg: Div(reg, Constant)",
02357   "reg: Rem(reg, Constant)",
02358   "reg: And(reg, Constant)",
02359   "reg: Or(reg, Constant)",
02360   "reg: Xor(reg, Constant)",
02361   "reg: setCCconst",
02362   "reg: setCC",
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   0,
02432   0,
02433   0,
02434   0,
02435   0,
02436   0,
02437   0,
02438   0,
02439   0,
02440   0,
02441   "reg: bnot",
02442   "not: Not(tobool, reg)",
02443   0,
02444   0,
02445   0,
02446   0,
02447   0,
02448   0,
02449   0,
02450   0,
02451   0,
02452   0,
02453   0,
02454   0,
02455   "reg: Mul(todouble, todoubleConst)",
02456   0,
02457   0,
02458   "reg: BAnd(reg, reg)",
02459   "reg: BOr(reg, reg)",
02460   "reg: BXor(reg, reg)",
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   0,
02532   0,
02533   0,
02534   0,
02535   0,
02536   0,
02537   0,
02538   0,
02539   0,
02540   0,
02541   "bnot: BNot(reg, reg)",
02542   0,
02543   0,
02544   0,
02545   0,
02546   0,
02547   0,
02548   0,
02549   0,
02550   0,
02551   0,
02552   0,
02553   0,
02554   0,
02555   0,
02556   0,
02557   0,
02558   "reg: BAnd(reg, bnot)",
02559   "reg: BOr(reg, bnot)",
02560   "reg: BXor(reg, bnot)",
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   0,
02649   0,
02650   0,
02651   0,
02652   0,
02653   0,
02654   0,
02655   0,
02656   0,
02657   0,
02658   "reg: BAnd(reg, Constant)",
02659   "reg: BOr(reg, Constant)",
02660   "reg: BXor(reg, Constant)",
02661 };
02662 int burm_max_rule = 540;
02663 #define burm_Max_rule 540
02664 short burm_rule_descriptor_0[] = { 0, 0 };
02665 short burm_rule_descriptor_1[] = {   -1,    1, };
02666 short burm_rule_descriptor_2[] = {   -1,  101,   -2, };
02667 short burm_rule_descriptor_3[] = {   -1,   25,   -2,   -2, };
02668 short burm_rule_descriptor_4[] = {   -1,   25,   -2,  -19, };
02669 short burm_rule_descriptor_5[] = {   -1,    2, };
02670 short burm_rule_descriptor_6[] = {   -1,  102,  -17, };
02671 short burm_rule_descriptor_8[] = {   -1,  102,   -2, };
02672 short burm_rule_descriptor_9[] = {   -1,    3,   -2, };
02673 short burm_rule_descriptor_10[] = {   -2,   97,   -2,   -2, };
02674 short burm_rule_descriptor_19[] = {   -2,  139,   -2, };
02675 short burm_rule_descriptor_20[] = {   -2,  140,   -2, };
02676 short burm_rule_descriptor_21[] = {   -3,  314,   -2,   -2, };
02677 short burm_rule_descriptor_22[] = {   -4,  128,   -2, };
02678 short burm_rule_descriptor_23[] = {   -5,  129,   -2, };
02679 short burm_rule_descriptor_24[] = {   -6,  130,   -2, };
02680 short burm_rule_descriptor_25[] = {   -7,  131,   -2, };
02681 short burm_rule_descriptor_26[] = {   -8,  132,   -2, };
02682 short burm_rule_descriptor_27[] = {   -9,  133,   -2, };
02683 short burm_rule_descriptor_28[] = {  -10,  134,   -2, };
02684 short burm_rule_descriptor_29[] = {  -11,  135,   -2, };
02685 short burm_rule_descriptor_30[] = {  -12,  136,   -2, };
02686 short burm_rule_descriptor_31[] = {  -13,  137,   -2, };
02687 short burm_rule_descriptor_32[] = {  -14,  138,   -2, };
02688 short burm_rule_descriptor_33[] = {   -2,    7,   -2,   -2, };
02689 short burm_rule_descriptor_34[] = {   -2,    8,   -2,   -2, };
02690 short burm_rule_descriptor_35[] = {   -2,    9,   -2,   -2, };
02691 short burm_rule_descriptor_36[] = {   -2,   10,   -2,   -2, };
02692 short burm_rule_descriptor_37[] = {   -2,   11,   -2,   -2, };
02693 short burm_rule_descriptor_38[] = {   -2,   12,   -2,   -2, };
02694 short burm_rule_descriptor_39[] = {   -2,   13,   -2,   -2, };
02695 short burm_rule_descriptor_40[] = {   -2,   14,   -2,   -2, };
02696 short burm_rule_descriptor_41[] = {  -16,  115,   -2,   99, };
02697 short burm_rule_descriptor_42[] = {  -17,  115,   -2,   -2, };
02698 short burm_rule_descriptor_51[] = {   -2,   24,   -2, };
02699 short burm_rule_descriptor_52[] = {   -2,   24,  -19, };
02700 short burm_rule_descriptor_55[] = {  -19,   26,   -2, };
02701 short burm_rule_descriptor_56[] = {  -19,  126,   -2,   -2, };
02702 short burm_rule_descriptor_57[] = {   -2,   23, };
02703 short burm_rule_descriptor_58[] = {   -2,  123,   -2, };
02704 short burm_rule_descriptor_61[] = {   -2,   29, };
02705 short burm_rule_descriptor_62[] = {   -2,   30,   -2,   -2, };
02706 short burm_rule_descriptor_63[] = {   -2,   31,   -2,   -2, };
02707 short burm_rule_descriptor_64[] = {   -2,   27,   -2,   -2, };
02708 short burm_rule_descriptor_65[] = {   -2,   32,   -2, };
02709 short burm_rule_descriptor_66[] = {   -2,   33,   -2, };
02710 short burm_rule_descriptor_71[] = {   -2,   98, };
02711 short burm_rule_descriptor_72[] = {   -2,   99, };
02712 short burm_rule_descriptor_111[] = {   -1,   -2, };
02713 short burm_rule_descriptor_123[] = {   -2,   -5, };
02714 short burm_rule_descriptor_124[] = {   -2,   -6, };
02715 short burm_rule_descriptor_125[] = {   -2,   -7, };
02716 short burm_rule_descriptor_126[] = {   -2,   -8, };
02717 short burm_rule_descriptor_127[] = {   -2,   -9, };
02718 short burm_rule_descriptor_128[] = {   -2,  -10, };
02719 short burm_rule_descriptor_129[] = {   -2,  -11, };
02720 short burm_rule_descriptor_130[] = {   -2,  -12, };
02721 short burm_rule_descriptor_131[] = {   -2,  -13, };
02722 short burm_rule_descriptor_132[] = {   -2,  -14, };
02723 short burm_rule_descriptor_133[] = {   -2,  -15, };
02724 short burm_rule_descriptor_135[] = {   -2,    9,  -14,  -14, };
02725 short burm_rule_descriptor_138[] = {   -2,   12,   -2,   -3, };
02726 short burm_rule_descriptor_139[] = {   -2,   13,   -2,   -3, };
02727 short burm_rule_descriptor_140[] = {   -2,   14,   -2,   -3, };
02728 short burm_rule_descriptor_155[] = {   -2,  -19, };
02729 short burm_rule_descriptor_206[] = {   -1,  102,  -16, };
02730 short burm_rule_descriptor_208[] = {   -1,  102,   99, };
02731 short burm_rule_descriptor_221[] = {   -2,   -3, };
02732 short burm_rule_descriptor_222[] = {   -2,   -4, };
02733 short burm_rule_descriptor_232[] = {  -15,  138,   99, };
02734 short burm_rule_descriptor_233[] = {   -2,    7,   -2,   99, };
02735 short burm_rule_descriptor_234[] = {   -2,    8,   -2,   99, };
02736 short burm_rule_descriptor_235[] = {   -2,    9,   -2,   99, };
02737 short burm_rule_descriptor_236[] = {   -2,   10,   -2,   99, };
02738 short burm_rule_descriptor_237[] = {   -2,   11,   -2,   99, };
02739 short burm_rule_descriptor_238[] = {   -2,   12,   -2,   99, };
02740 short burm_rule_descriptor_239[] = {   -2,   13,   -2,   99, };
02741 short burm_rule_descriptor_240[] = {   -2,   14,   -2,   99, };
02742 short burm_rule_descriptor_241[] = {   -2,  -16, };
02743 short burm_rule_descriptor_242[] = {   -2,  -17, };
02744 short burm_rule_descriptor_321[] = {   -2,  -18, };
02745 short burm_rule_descriptor_322[] = {   -3,  314,   -4,   -2, };
02746 short burm_rule_descriptor_335[] = {   -2,    9,  -14,  -15, };
02747 short burm_rule_descriptor_338[] = {   -2,  112,   -2,   -2, };
02748 short burm_rule_descriptor_339[] = {   -2,  113,   -2,   -2, };
02749 short burm_rule_descriptor_340[] = {   -2,  114,   -2,   -2, };
02750 short burm_rule_descriptor_421[] = {  -18,  214,   -2,   -2, };
02751 short burm_rule_descriptor_438[] = {   -2,  112,   -2,  -18, };
02752 short burm_rule_descriptor_439[] = {   -2,  113,   -2,  -18, };
02753 short burm_rule_descriptor_440[] = {   -2,  114,   -2,  -18, };
02754 short burm_rule_descriptor_538[] = {   -2,  112,   -2,   99, };
02755 short burm_rule_descriptor_539[] = {   -2,  113,   -2,   99, };
02756 short burm_rule_descriptor_540[] = {   -2,  114,   -2,   99, };
02757 /* burm_rule_descriptors[0][1] = 1 iff grammar is normal form. */
02758 short * burm_rule_descriptors[] = {
02759   burm_rule_descriptor_0,
02760   burm_rule_descriptor_1,
02761   burm_rule_descriptor_2,
02762   burm_rule_descriptor_3,
02763   burm_rule_descriptor_4,
02764   burm_rule_descriptor_5,
02765   burm_rule_descriptor_6,
02766   burm_rule_descriptor_0,
02767   burm_rule_descriptor_8,
02768   burm_rule_descriptor_9,
02769   burm_rule_descriptor_10,
02770   burm_rule_descriptor_0,
02771   burm_rule_descriptor_0,
02772   burm_rule_descriptor_0,
02773   burm_rule_descriptor_0,
02774   burm_rule_descriptor_0,
02775   burm_rule_descriptor_0,
02776   burm_rule_descriptor_0,
02777   burm_rule_descriptor_0,
02778   burm_rule_descriptor_19,
02779   burm_rule_descriptor_20,
02780   burm_rule_descriptor_21,
02781   burm_rule_descriptor_22,
02782   burm_rule_descriptor_23,
02783   burm_rule_descriptor_24,
02784   burm_rule_descriptor_25,
02785   burm_rule_descriptor_26,
02786   burm_rule_descriptor_27,
02787   burm_rule_descriptor_28,
02788   burm_rule_descriptor_29,
02789   burm_rule_descriptor_30,
02790   burm_rule_descriptor_31,
02791   burm_rule_descriptor_32,
02792   burm_rule_descriptor_33,
02793   burm_rule_descriptor_34,
02794   burm_rule_descriptor_35,
02795   burm_rule_descriptor_36,
02796   burm_rule_descriptor_37,
02797   burm_rule_descriptor_38,
02798   burm_rule_descriptor_39,
02799   burm_rule_descriptor_40,
02800   burm_rule_descriptor_41,
02801   burm_rule_descriptor_42,
02802   burm_rule_descriptor_0,
02803   burm_rule_descriptor_0,
02804   burm_rule_descriptor_0,
02805   burm_rule_descriptor_0,
02806   burm_rule_descriptor_0,
02807   burm_rule_descriptor_0,
02808   burm_rule_descriptor_0,
02809   burm_rule_descriptor_0,
02810   burm_rule_descriptor_51,
02811   burm_rule_descriptor_52,
02812   burm_rule_descriptor_0,
02813   burm_rule_descriptor_0,
02814   burm_rule_descriptor_55,
02815   burm_rule_descriptor_56,
02816   burm_rule_descriptor_57,
02817   burm_rule_descriptor_58,
02818   burm_rule_descriptor_0,
02819   burm_rule_descriptor_0,
02820   burm_rule_descriptor_61,
02821   burm_rule_descriptor_62,
02822   burm_rule_descriptor_63,
02823   burm_rule_descriptor_64,
02824   burm_rule_descriptor_65,
02825   burm_rule_descriptor_66,
02826   burm_rule_descriptor_0,
02827   burm_rule_descriptor_0,
02828   burm_rule_descriptor_0,
02829   burm_rule_descriptor_0,
02830   burm_rule_descriptor_71,
02831   burm_rule_descriptor_72,
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_0,
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_111,
02871   burm_rule_descriptor_0,
02872   burm_rule_descriptor_0,
02873   burm_rule_descriptor_0,
02874   burm_rule_descriptor_0,
02875   burm_rule_descriptor_0,
02876   burm_rule_descriptor_0,
02877   burm_rule_descriptor_0,
02878   burm_rule_descriptor_0,
02879   burm_rule_descriptor_0,
02880   burm_rule_descriptor_0,
02881   burm_rule_descriptor_0,
02882   burm_rule_descriptor_123,
02883   burm_rule_descriptor_124,
02884   burm_rule_descriptor_125,
02885   burm_rule_descriptor_126,
02886   burm_rule_descriptor_127,
02887   burm_rule_descriptor_128,
02888   burm_rule_descriptor_129,
02889   burm_rule_descriptor_130,
02890   burm_rule_descriptor_131,
02891   burm_rule_descriptor_132,
02892   burm_rule_descriptor_133,
02893   burm_rule_descriptor_0,
02894   burm_rule_descriptor_135,
02895   burm_rule_descriptor_0,
02896   burm_rule_descriptor_0,
02897   burm_rule_descriptor_138,
02898   burm_rule_descriptor_139,
02899   burm_rule_descriptor_140,
02900   burm_rule_descriptor_0,
02901   burm_rule_descriptor_0,
02902   burm_rule_descriptor_0,
02903   burm_rule_descriptor_0,
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_155,
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_0,
02955   burm_rule_descriptor_0,
02956   burm_rule_descriptor_0,
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_206,
02966   burm_rule_descriptor_0,
02967   burm_rule_descriptor_208,
02968   burm_rule_descriptor_0,
02969   burm_rule_descriptor_0,
02970   burm_rule_descriptor_0,
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_221,
02981   burm_rule_descriptor_222,
02982   burm_rule_descriptor_0,
02983   burm_rule_descriptor_0,
02984   burm_rule_descriptor_0,
02985   burm_rule_descriptor_0,
02986   burm_rule_descriptor_0,
02987   burm_rule_descriptor_0,
02988   burm_rule_descriptor_0,
02989   burm_rule_descriptor_0,
02990   burm_rule_descriptor_0,
02991   burm_rule_descriptor_232,
02992   burm_rule_descriptor_233,
02993   burm_rule_descriptor_234,
02994   burm_rule_descriptor_235,
02995   burm_rule_descriptor_236,
02996   burm_rule_descriptor_237,
02997   burm_rule_descriptor_238,
02998   burm_rule_descriptor_239,
02999   burm_rule_descriptor_240,
03000   burm_rule_descriptor_241,
03001   burm_rule_descriptor_242,
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_0,
03070   burm_rule_descriptor_0,
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_321,
03081   burm_rule_descriptor_322,
03082   burm_rule_descriptor_0,
03083   burm_rule_descriptor_0,
03084   burm_rule_descriptor_0,
03085   burm_rule_descriptor_0,
03086   burm_rule_descriptor_0,
03087   burm_rule_descriptor_0,
03088   burm_rule_descriptor_0,
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_335,
03095   burm_rule_descriptor_0,
03096   burm_rule_descriptor_0,
03097   burm_rule_descriptor_338,
03098   burm_rule_descriptor_339,
03099   burm_rule_descriptor_340,
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_0,
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_421,
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_0,
03187   burm_rule_descriptor_0,
03188   burm_rule_descriptor_0,
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_438,
03198   burm_rule_descriptor_439,
03199   burm_rule_descriptor_440,
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_0,
03287   burm_rule_descriptor_0,
03288   burm_rule_descriptor_0,
03289   burm_rule_descriptor_0,
03290   burm_rule_descriptor_0,
03291   burm_rule_descriptor_0,
03292   burm_rule_descriptor_0,
03293   burm_rule_descriptor_0,
03294   burm_rule_descriptor_0,
03295   burm_rule_descriptor_0,
03296   burm_rule_descriptor_0,
03297   burm_rule_descriptor_538,
03298   burm_rule_descriptor_539,
03299   burm_rule_descriptor_540,
03300 };
03301 short burm_cost[][4] = {
03302   {    0,    0,    0,    0}, /* (none) = 0 */
03303   {   30,    0,    0,    0}, /* stmt: Ret = 1 */
03304   {   30,    0,    0,    0}, /* stmt: RetValue(reg) = 2 */
03305   {   10,    0,    0,    0}, /* stmt: Store(reg, reg) = 3 */
03306   {   10,    0,    0,    0}, /* stmt: Store(reg, ptrreg) = 4 */
03307   {   20,    0,    0,    0}, /* stmt: BrUncond = 5 */
03308   {   20,    0,    0,    0}, /* stmt: BrCond(setCC) = 6 */
03309   {    0,    0,    0,    0}, /* (none) = 7 */
03310   {   20,    0,    0,    0}, /* stmt: BrCond(reg) = 8 */
03311   {   30,    0,    0,    0}, /* stmt: Switch(reg) = 9 */
03312   {    0,    0,    0,    0}, /* reg: VRegList(reg, reg) = 10 */
03313   {    0,    0,    0,    0}, /* (none) = 11 */
03314   {    0,    0,    0,    0}, /* (none) = 12 */
03315   {    0,    0,    0,    0}, /* (none) = 13 */
03316   {    0,    0,    0,    0}, /* (none) = 14 */
03317   {    0,    0,    0,    0}, /* (none) = 15 */
03318   {    0,    0,    0,    0}, /* (none) = 16 */
03319   {    0,    0,    0,    0}, /* (none) = 17 */
03320   {    0,    0,    0,    0}, /* (none) = 18 */
03321   {   10,    0,    0,    0}, /* reg: ToArrayTy(reg) = 19 */
03322   {   10,    0,    0,    0}, /* reg: ToPointerTy(reg) = 20 */
03323   {   10,    0,    0,    0}, /* not: Not(reg, reg) = 21 */
03324   {   10,    0,    0,    0}, /* tobool: ToBoolTy(reg) = 22 */
03325   {   10,    0,    0,    0}, /* toubyte: ToUByteTy(reg) = 23 */
03326   {   10,    0,    0,    0}, /* tosbyte: ToSByteTy(reg) = 24 */
03327   {   10,    0,    0,    0}, /* toushort: ToUShortTy(reg) = 25 */
03328   {   10,    0,    0,    0}, /* toshort: ToShortTy(reg) = 26 */
03329   {   10,    0,    0,    0}, /* touint: ToUIntTy(reg) = 27 */
03330   {   10,    0,    0,    0}, /* toint: ToIntTy(reg) = 28 */
03331   {   10,    0,    0,    0}, /* toulong: ToULongTy(reg) = 29 */
03332   {   10,    0,    0,    0}, /* tolong: ToLongTy(reg) = 30 */
03333   {   10,    0,    0,    0}, /* tofloat: ToFloatTy(reg) = 31 */
03334   {   10,    0,    0,    0}, /* todouble: ToDoubleTy(reg) = 32 */
03335   {   10,    0,    0,    0}, /* reg: Add(reg, reg) = 33 */
03336   {   10,    0,    0,    0}, /* reg: Sub(reg, reg) = 34 */
03337   {   30,    0,    0,    0}, /* reg: Mul(reg, reg) = 35 */
03338   {   60,    0,    0,    0}, /* reg: Div(reg, reg) = 36 */
03339   {   60,    0,    0,    0}, /* reg: Rem(reg, reg) = 37 */
03340   {   10,    0,    0,    0}, /* reg: And(reg, reg) = 38 */
03341   {   10,    0,    0,    0}, /* reg: Or(reg, reg) = 39 */
03342   {   10,    0,    0,    0}, /* reg: Xor(reg, reg) = 40 */
03343   {    5,    0,    0,    0}, /* setCCconst: SetCC(reg, Constant) = 41 */
03344   {   10,    0,    0,    0}, /* setCC: SetCC(reg, reg) = 42 */
03345   {    0,    0,    0,    0}, /* (none) = 43 */
03346   {    0,    0,    0,    0}, /* (none) = 44 */
03347   {    0,    0,    0,    0}, /* (none) = 45 */
03348   {    0,    0,    0,    0}, /* (none) = 46 */
03349   {    0,    0,    0,    0}, /* (none) = 47 */
03350   {    0,    0,    0,    0}, /* (none) = 48 */
03351   {    0,    0,    0,    0}, /* (none) = 49 */
03352   {    0,    0,    0,    0}, /* (none) = 50 */
03353   {   30,    0,    0,    0}, /* reg: Load(reg) = 51 */
03354   {   20,    0,    0,    0}, /* reg: Load(ptrreg) = 52 */
03355   {    0,    0,    0,    0}, /* (none) = 53 */
03356   {    0,    0,    0,    0}, /* (none) = 54 */
03357   {   10,    0,    0,    0}, /* ptrreg: GetElemPtr(reg) = 55 */
03358   {   10,    0,    0,    0}, /* ptrreg: GetElemPtrIdx(reg, reg) = 56 */
03359   {   10,    0,    0,    0}, /* reg: Alloca = 57 */
03360   {   10,    0,    0,    0}, /* reg: AllocaN(reg) = 58 */
03361   {    0,    0,    0,    0}, /* (none) = 59 */
03362   {    0,    0,    0,    0}, /* (none) = 60 */
03363   {   20,    0,    0,    0}, /* reg: Call = 61 */
03364   {   20,    0,    0,    0}, /* reg: Shl(reg, reg) = 62 */
03365   {   20,    0,    0,    0}, /* reg: Shr(reg, reg) = 63 */
03366   {    0,    0,    0,    0}, /* reg: Phi(reg, reg) = 64 */
03367   {   40,    0,    0,    0}, /* reg: VANext(reg) = 65 */
03368   {   40,    0,    0,    0}, /* reg: VAArg(reg) = 66 */
03369   {    0,    0,    0,    0}, /* (none) = 67 */
03370   {    0,    0,    0,    0}, /* (none) = 68 */
03371   {    0,    0,    0,    0}, /* (none) = 69 */
03372   {    0,    0,    0,    0}, /* (none) = 70 */
03373   {    0,    0,    0,    0}, /* reg: VReg = 71 */
03374   {    3,    0,    0,    0}, /* reg: Constant = 72 */
03375   {    0,    0,    0,    0}, /* (none) = 73 */
03376   {    0,    0,    0,    0}, /* (none) = 74 */
03377   {    0,    0,    0,    0}, /* (none) = 75 */
03378   {    0,    0,    0,    0}, /* (none) = 76 */
03379   {    0,    0,    0,    0}, /* (none) = 77 */
03380   {    0,    0,    0,    0}, /* (none) = 78 */
03381   {    0,    0,    0,    0}, /* (none) = 79 */
03382   {    0,    0,    0,    0}, /* (none) = 80 */
03383   {    0,    0,    0,    0}, /* (none) = 81 */
03384   {    0,    0,    0,    0}, /* (none) = 82 */
03385   {    0,    0,    0,    0}, /* (none) = 83 */
03386   {    0,    0,    0,    0}, /* (none) = 84 */
03387   {    0,    0,    0,    0}, /* (none) = 85 */
03388   {    0,    0,    0,    0}, /* (none) = 86 */
03389   {    0,    0,    0,    0}, /* (none) = 87 */
03390   {    0,    0,    0,    0}, /* (none) = 88 */
03391   {    0,    0,    0,    0}, /* (none) = 89 */
03392   {    0,    0,    0,    0}, /* (none) = 90 */
03393   {    0,    0,    0,    0}, /* (none) = 91 */
03394   {    0,    0,    0,    0}, /* (none) = 92 */
03395   {    0,    0,    0,    0}, /* (none) = 93 */
03396   {    0,    0,    0,    0}, /* (none) = 94 */
03397   {    0,    0,    0,    0}, /* (none) = 95 */
03398   {    0,    0,    0,    0}, /* (none) = 96 */
03399   {    0,    0,    0,    0}, /* (none) = 97 */
03400   {    0,    0,    0,    0}, /* (none) = 98 */
03401   {    0,    0,    0,    0}, /* (none) = 99 */
03402   {    0,    0,    0,    0}, /* (none) = 100 */
03403   {    0,    0,    0,    0}, /* (none) = 101 */
03404   {    0,    0,    0,    0}, /* (none) = 102 */
03405   {    0,    0,    0,    0}, /* (none) = 103 */
03406   {    0,    0,    0,    0}, /* (none) = 104 */
03407   {    0,    0,    0,    0}, /* (none) = 105 */
03408   {    0,    0,    0,    0}, /* (none) = 106 */
03409   {    0,    0,    0,    0}, /* (none) = 107 */
03410   {    0,    0,    0,    0}, /* (none) = 108 */
03411   {    0,    0,    0,    0}, /* (none) = 109 */
03412   {    0,    0,    0,    0}, /* (none) = 110 */
03413   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03414   {    0,    0,    0,    0}, /* (none) = 112 */
03415   {    0,    0,    0,    0}, /* (none) = 113 */
03416   {    0,    0,    0,    0}, /* (none) = 114 */
03417   {    0,    0,    0,    0}, /* (none) = 115 */
03418   {    0,    0,    0,    0}, /* (none) = 116 */
03419   {    0,    0,    0,    0}, /* (none) = 117 */
03420   {    0,    0,    0,    0}, /* (none) = 118 */
03421   {    0,    0,    0,    0}, /* (none) = 119 */
03422   {    0,    0,    0,    0}, /* (none) = 120 */
03423   {    0,    0,    0,    0}, /* (none) = 121 */
03424   {    0,    0,    0,    0}, /* (none) = 122 */
03425   {    0,    0,    0,    0}, /* reg: toubyte = 123 */
03426   {    0,    0,    0,    0}, /* reg: tosbyte = 124 */
03427   {    0,    0,    0,    0}, /* reg: toushort = 125 */
03428   {    0,    0,    0,    0}, /* reg: toshort = 126 */
03429   {    0,    0,    0,    0}, /* reg: touint = 127 */
03430   {    0,    0,    0,    0}, /* reg: toint = 128 */
03431   {    0,    0,    0,    0}, /* reg: toulong = 129 */
03432   {    0,    0,    0,    0}, /* reg: tolong = 130 */
03433   {    0,    0,    0,    0}, /* reg: tofloat = 131 */
03434   {    0,    0,    0,    0}, /* reg: todouble = 132 */
03435   {    0,    0,    0,    0}, /* reg: todoubleConst = 133 */
03436   {    0,    0,    0,    0}, /* (none) = 134 */
03437   {   20,    0,    0,    0}, /* reg: Mul(todouble, todouble) = 135 */
03438   {    0,    0,    0,    0}, /* (none) = 136 */
03439   {    0,    0,    0,    0}, /* (none) = 137 */
03440   {    0,    0,    0,    0}, /* reg: And(reg, not) = 138 */
03441   {    0,    0,    0,    0}, /* reg: Or(reg, not) = 139 */
03442   {    0,    0,    0,    0}, /* reg: Xor(reg, not) = 140 */
03443   {    0,    0,    0,    0}, /* (none) = 141 */
03444   {    0,    0,    0,    0}, /* (none) = 142 */
03445   {    0,    0,    0,    0}, /* (none) = 143 */
03446   {    0,    0,    0,    0}, /* (none) = 144 */
03447   {    0,    0,    0,    0}, /* (none) = 145 */
03448   {    0,    0,    0,    0}, /* (none) = 146 */
03449   {    0,    0,    0,    0}, /* (none) = 147 */
03450   {    0,    0,    0,    0}, /* (none) = 148 */
03451   {    0,    0,    0,    0}, /* (none) = 149 */
03452   {    0,    0,    0,    0}, /* (none) = 150 */
03453   {    0,    0,    0,    0}, /* (none) = 151 */
03454   {    0,    0,    0,    0}, /* (none) = 152 */
03455   {    0,    0,    0,    0}, /* (none) = 153 */
03456   {    0,    0,    0,    0}, /* (none) = 154 */
03457   {    0,    0,    0,    0}, /* reg: ptrreg = 155 */
03458   {    0,    0,    0,    0}, /* (none) = 156 */
03459   {    0,    0,    0,    0}, /* (none) = 157 */
03460   {    0,    0,    0,    0}, /* (none) = 158 */
03461   {    0,    0,    0,    0}, /* (none) = 159 */
03462   {    0,    0,    0,    0}, /* (none) = 160 */
03463   {    0,    0,    0,    0}, /* (none) = 161 */
03464   {    0,    0,    0,    0}, /* (none) = 162 */
03465   {    0,    0,    0,    0}, /* (none) = 163 */
03466   {    0,    0,    0,    0}, /* (none) = 164 */
03467   {    0,    0,    0,    0}, /* (none) = 165 */
03468   {    0,    0,    0,    0}, /* (none) = 166 */
03469   {    0,    0,    0,    0}, /* (none) = 167 */
03470   {    0,    0,    0,    0}, /* (none) = 168 */
03471   {    0,    0,    0,    0}, /* (none) = 169 */
03472   {    0,    0,    0,    0}, /* (none) = 170 */
03473   {    0,    0,    0,    0}, /* (none) = 171 */
03474   {    0,    0,    0,    0}, /* (none) = 172 */
03475   {    0,    0,    0,    0}, /* (none) = 173 */
03476   {    0,    0,    0,    0}, /* (none) = 174 */
03477   {    0,    0,    0,    0}, /* (none) = 175 */
03478   {    0,    0,    0,    0}, /* (none) = 176 */
03479   {    0,    0,    0,    0}, /* (none) = 177 */
03480   {    0,    0,    0,    0}, /* (none) = 178 */
03481   {    0,    0,    0,    0}, /* (none) = 179 */
03482   {    0,    0,    0,    0}, /* (none) = 180 */
03483   {    0,    0,    0,    0}, /* (none) = 181 */
03484   {    0,    0,    0,    0}, /* (none) = 182 */
03485   {    0,    0,    0,    0}, /* (none) = 183 */
03486   {    0,    0,    0,    0}, /* (none) = 184 */
03487   {    0,    0,    0,    0}, /* (none) = 185 */
03488   {    0,    0,    0,    0}, /* (none) = 186 */
03489   {    0,    0,    0,    0}, /* (none) = 187 */
03490   {    0,    0,    0,    0}, /* (none) = 188 */
03491   {    0,    0,    0,    0}, /* (none) = 189 */
03492   {    0,    0,    0,    0}, /* (none) = 190 */
03493   {    0,    0,    0,    0}, /* (none) = 191 */
03494   {    0,    0,    0,    0}, /* (none) = 192 */
03495   {    0,    0,    0,    0}, /* (none) = 193 */
03496   {    0,    0,    0,    0}, /* (none) = 194 */
03497   {    0,    0,    0,    0}, /* (none) = 195 */
03498   {    0,    0,    0,    0}, /* (none) = 196 */
03499   {    0,    0,    0,    0}, /* (none) = 197 */
03500   {    0,    0,    0,    0}, /* (none) = 198 */
03501   {    0,    0,    0,    0}, /* (none) = 199 */
03502   {    0,    0,    0,    0}, /* (none) = 200 */
03503   {    0,    0,    0,    0}, /* (none) = 201 */
03504   {    0,    0,    0,    0}, /* (none) = 202 */
03505   {    0,    0,    0,    0}, /* (none) = 203 */
03506   {    0,    0,    0,    0}, /* (none) = 204 */
03507   {    0,    0,    0,    0}, /* (none) = 205 */
03508   {   10,    0,    0,    0}, /* stmt: BrCond(setCCconst) = 206 */
03509   {    0,    0,    0,    0}, /* (none) = 207 */
03510   {   20,    0,    0,    0}, /* stmt: BrCond(Constant) = 208 */
03511   {    0,    0,    0,    0}, /* (none) = 209 */
03512   {    0,    0,    0,    0}, /* (none) = 210 */
03513   {    0,    0,    0,    0}, /* (none) = 211 */
03514   {    0,    0,    0,    0}, /* (none) = 212 */
03515   {    0,    0,    0,    0}, /* (none) = 213 */
03516   {    0,    0,    0,    0}, /* (none) = 214 */
03517   {    0,    0,    0,    0}, /* (none) = 215 */
03518   {    0,    0,    0,    0}, /* (none) = 216 */
03519   {    0,    0,    0,    0}, /* (none) = 217 */
03520   {    0,    0,    0,    0}, /* (none) = 218 */
03521   {    0,    0,    0,    0}, /* (none) = 219 */
03522   {    0,    0,    0,    0}, /* (none) = 220 */
03523   {    0,    0,    0,    0}, /* reg: not = 221 */
03524   {    0,    0,    0,    0}, /* reg: tobool = 222 */
03525   {    0,    0,    0,    0}, /* (none) = 223 */
03526   {    0,    0,    0,    0}, /* (none) = 224 */
03527   {    0,    0,    0,    0}, /* (none) = 225 */
03528   {    0,    0,    0,    0}, /* (none) = 226 */
03529   {    0,    0,    0,    0}, /* (none) = 227 */
03530   {    0,    0,    0,    0}, /* (none) = 228 */
03531   {    0,    0,    0,    0}, /* (none) = 229 */
03532   {    0,    0,    0,    0}, /* (none) = 230 */
03533   {    0,    0,    0,    0}, /* (none) = 231 */
03534   {   10,    0,    0,    0}, /* todoubleConst: ToDoubleTy(Constant) = 232 */
03535   {   10,    0,    0,    0}, /* reg: Add(reg, Constant) = 233 */
03536   {   10,    0,    0,    0}, /* reg: Sub(reg, Constant) = 234 */
03537   {   30,    0,    0,    0}, /* reg: Mul(reg, Constant) = 235 */
03538   {   60,    0,    0,    0}, /* reg: Div(reg, Constant) = 236 */
03539   {   60,    0,    0,    0}, /* reg: Rem(reg, Constant) = 237 */
03540   {   10,    0,    0,    0}, /* reg: And(reg, Constant) = 238 */
03541   {   10,    0,    0,    0}, /* reg: Or(reg, Constant) = 239 */
03542   {   10,    0,    0,    0}, /* reg: Xor(reg, Constant) = 240 */
03543   {    0,    0,    0,    0}, /* reg: setCCconst = 241 */
03544   {    0,    0,    0,    0}, /* reg: setCC = 242 */
03545   {    0,    0,    0,    0}, /* (none) = 243 */
03546   {    0,    0,    0,    0}, /* (none) = 244 */
03547   {    0,    0,    0,    0}, /* (none) = 245 */
03548   {    0,    0,    0,    0}, /* (none) = 246 */
03549   {    0,    0,    0,    0}, /* (none) = 247 */
03550   {    0,    0,    0,    0}, /* (none) = 248 */
03551   {    0,    0,    0,    0}, /* (none) = 249 */
03552   {    0,    0,    0,    0}, /* (none) = 250 */
03553   {    0,    0,    0,    0}, /* (none) = 251 */
03554   {    0,    0,    0,    0}, /* (none) = 252 */
03555   {    0,    0,    0,    0}, /* (none) = 253 */
03556   {    0,    0,    0,    0}, /* (none) = 254 */
03557   {    0,    0,    0,    0}, /* (none) = 255 */
03558   {    0,    0,    0,    0}, /* (none) = 256 */
03559   {    0,    0,    0,    0}, /* (none) = 257 */
03560   {    0,    0,    0,    0}, /* (none) = 258 */
03561   {    0,    0,    0,    0}, /* (none) = 259 */
03562   {    0,    0,    0,    0}, /* (none) = 260 */
03563   {    0,    0,    0,    0}, /* (none) = 261 */
03564   {    0,    0,    0,    0}, /* (none) = 262 */
03565   {    0,    0,    0,    0}, /* (none) = 263 */
03566   {    0,    0,    0,    0}, /* (none) = 264 */
03567   {    0,    0,    0,    0}, /* (none) = 265 */
03568   {    0,    0,    0,    0}, /* (none) = 266 */
03569   {    0,    0,    0,    0}, /* (none) = 267 */
03570   {    0,    0,    0,    0}, /* (none) = 268 */
03571   {    0,    0,    0,    0}, /* (none) = 269 */
03572   {    0,    0,    0,    0}, /* (none) = 270 */
03573   {    0,    0,    0,    0}, /* (none) = 271 */
03574   {    0,    0,    0,    0}, /* (none) = 272 */
03575   {    0,    0,    0,    0}, /* (none) = 273 */
03576   {    0,    0,    0,    0}, /* (none) = 274 */
03577   {    0,    0,    0,    0}, /* (none) = 275 */
03578   {    0,    0,    0,    0}, /* (none) = 276 */
03579   {    0,    0,    0,    0}, /* (none) = 277 */
03580   {    0,    0,    0,    0}, /* (none) = 278 */
03581   {    0,    0,    0,    0}, /* (none) = 279 */
03582   {    0,    0,    0,    0}, /* (none) = 280 */
03583   {    0,    0,    0,    0}, /* (none) = 281 */
03584   {    0,    0,    0,    0}, /* (none) = 282 */
03585   {    0,    0,    0,    0}, /* (none) = 283 */
03586   {    0,    0,    0,    0}, /* (none) = 284 */
03587   {    0,    0,    0,    0}, /* (none) = 285 */
03588   {    0,    0,    0,    0}, /* (none) = 286 */
03589   {    0,    0,    0,    0}, /* (none) = 287 */
03590   {    0,    0,    0,    0}, /* (none) = 288 */
03591   {    0,    0,    0,    0}, /* (none) = 289 */
03592   {    0,    0,    0,    0}, /* (none) = 290 */
03593   {    0,    0,    0,    0}, /* (none) = 291 */
03594   {    0,    0,    0,    0}, /* (none) = 292 */
03595   {    0,    0,    0,    0}, /* (none) = 293 */
03596   {    0,    0,    0,    0}, /* (none) = 294 */
03597   {    0,    0,    0,    0}, /* (none) = 295 */
03598   {    0,    0,    0,    0}, /* (none) = 296 */
03599   {    0,    0,    0,    0}, /* (none) = 297 */
03600   {    0,    0,    0,    0}, /* (none) = 298 */
03601   {    0,    0,    0,    0}, /* (none) = 299 */
03602   {    0,    0,    0,    0}, /* (none) = 300 */
03603   {    0,    0,    0,    0}, /* (none) = 301 */
03604   {    0,    0,    0,    0}, /* (none) = 302 */
03605   {    0,    0,    0,    0}, /* (none) = 303 */
03606   {    0,    0,    0,    0}, /* (none) = 304 */
03607   {    0,    0,    0,    0}, /* (none) = 305 */
03608   {    0,    0,    0,    0}, /* (none) = 306 */
03609   {    0,    0,    0,    0}, /* (none) = 307 */
03610   {    0,    0,    0,    0}, /* (none) = 308 */
03611   {    0,    0,    0,    0}, /* (none) = 309 */
03612   {    0,    0,    0,    0}, /* (none) = 310 */
03613   {    0,    0,    0,    0}, /* (none) = 311 */
03614   {    0,    0,    0,    0}, /* (none) = 312 */
03615   {    0,    0,    0,    0}, /* (none) = 313 */
03616   {    0,    0,    0,    0}, /* (none) = 314 */
03617   {    0,    0,    0,    0}, /* (none) = 315 */
03618   {    0,    0,    0,    0}, /* (none) = 316 */
03619   {    0,    0,    0,    0}, /* (none) = 317 */
03620   {    0,    0,    0,    0}, /* (none) = 318 */
03621   {    0,    0,    0,    0}, /* (none) = 319 */
03622   {    0,    0,    0,    0}, /* (none) = 320 */
03623   {    0,    0,    0,    0}, /* reg: bnot = 321 */
03624   {   10,    0,    0,    0}, /* not: Not(tobool, reg) = 322 */
03625   {    0,    0,    0,    0}, /* (none) = 323 */
03626   {    0,    0,    0,    0}, /* (none) = 324 */
03627   {    0,    0,    0,    0}, /* (none) = 325 */
03628   {    0,    0,    0,    0}, /* (none) = 326 */
03629   {    0,    0,    0,    0}, /* (none) = 327 */
03630   {    0,    0,    0,    0}, /* (none) = 328 */
03631   {    0,    0,    0,    0}, /* (none) = 329 */
03632   {    0,    0,    0,    0}, /* (none) = 330 */
03633   {    0,    0,    0,    0}, /* (none) = 331 */
03634   {    0,    0,    0,    0}, /* (none) = 332 */
03635   {    0,    0,    0,    0}, /* (none) = 333 */
03636   {    0,    0,    0,    0}, /* (none) = 334 */
03637   {   20,    0,    0,    0}, /* reg: Mul(todouble, todoubleConst) = 335 */
03638   {    0,    0,    0,    0}, /* (none) = 336 */
03639   {    0,    0,    0,    0}, /* (none) = 337 */
03640   {   10,    0,    0,    0}, /* reg: BAnd(reg, reg) = 338 */
03641   {   10,    0,    0,    0}, /* reg: BOr(reg, reg) = 339 */
03642   {   10,    0,    0,    0}, /* reg: BXor(reg, reg) = 340 */
03643   {    0,    0,    0,    0}, /* (none) = 341 */
03644   {    0,    0,    0,    0}, /* (none) = 342 */
03645   {    0,    0,    0,    0}, /* (none) = 343 */
03646   {    0,    0,    0,    0}, /* (none) = 344 */
03647   {    0,    0,    0,    0}, /* (none) = 345 */
03648   {    0,    0,    0,    0}, /* (none) = 346 */
03649   {    0,    0,    0,    0}, /* (none) = 347 */
03650   {    0,    0,    0,    0}, /* (none) = 348 */
03651   {    0,    0,    0,    0}, /* (none) = 349 */
03652   {    0,    0,    0,    0}, /* (none) = 350 */
03653   {    0,    0,    0,    0}, /* (none) = 351 */
03654   {    0,    0,    0,    0}, /* (none) = 352 */
03655   {    0,    0,    0,    0}, /* (none) = 353 */
03656   {    0,    0,    0,    0}, /* (none) = 354 */
03657   {    0,    0,    0,    0}, /* (none) = 355 */
03658   {    0,    0,    0,    0}, /* (none) = 356 */
03659   {    0,    0,    0,    0}, /* (none) = 357 */
03660   {    0,    0,    0,    0}, /* (none) = 358 */
03661   {    0,    0,    0,    0}, /* (none) = 359 */
03662   {    0,    0,    0,    0}, /* (none) = 360 */
03663   {    0,    0,    0,    0}, /* (none) = 361 */
03664   {    0,    0,    0,    0}, /* (none) = 362 */
03665   {    0,    0,    0,    0}, /* (none) = 363 */
03666   {    0,    0,    0,    0}, /* (none) = 364 */
03667   {    0,    0,    0,    0}, /* (none) = 365 */
03668   {    0,    0,    0,    0}, /* (none) = 366 */
03669   {    0,    0,    0,    0}, /* (none) = 367 */
03670   {    0,    0,    0,    0}, /* (none) = 368 */
03671   {    0,    0,    0,    0}, /* (none) = 369 */
03672   {    0,    0,    0,    0}, /* (none) = 370 */
03673   {    0,    0,    0,    0}, /* (none) = 371 */
03674   {    0,    0,    0,    0}, /* (none) = 372 */
03675   {    0,    0,    0,    0}, /* (none) = 373 */
03676   {    0,    0,    0,    0}, /* (none) = 374 */
03677   {    0,    0,    0,    0}, /* (none) = 375 */
03678   {    0,    0,    0,    0}, /* (none) = 376 */
03679   {    0,    0,    0,    0}, /* (none) = 377 */
03680   {    0,    0,    0,    0}, /* (none) = 378 */
03681   {    0,    0,    0,    0}, /* (none) = 379 */
03682   {    0,    0,    0,    0}, /* (none) = 380 */
03683   {    0,    0,    0,    0}, /* (none) = 381 */
03684   {    0,    0,    0,    0}, /* (none) = 382 */
03685   {    0,    0,    0,    0}, /* (none) = 383 */
03686   {    0,    0,    0,    0}, /* (none) = 384 */
03687   {    0,    0,    0,    0}, /* (none) = 385 */
03688   {    0,    0,    0,    0}, /* (none) = 386 */
03689   {    0,    0,    0,    0}, /* (none) = 387 */
03690   {    0,    0,    0,    0}, /* (none) = 388 */
03691   {    0,    0,    0,    0}, /* (none) = 389 */
03692   {    0,    0,    0,    0}, /* (none) = 390 */
03693   {    0,    0,    0,    0}, /* (none) = 391 */
03694   {    0,    0,    0,    0}, /* (none) = 392 */
03695   {    0,    0,    0,    0}, /* (none) = 393 */
03696   {    0,    0,    0,    0}, /* (none) = 394 */
03697   {    0,    0,    0,    0}, /* (none) = 395 */
03698   {    0,    0,    0,    0}, /* (none) = 396 */
03699   {    0,    0,    0,    0}, /* (none) = 397 */
03700   {    0,    0,    0,    0}, /* (none) = 398 */
03701   {    0,    0,    0,    0}, /* (none) = 399 */
03702   {    0,    0,    0,    0}, /* (none) = 400 */
03703   {    0,    0,    0,    0}, /* (none) = 401 */
03704   {    0,    0,    0,    0}, /* (none) = 402 */
03705   {    0,    0,    0,    0}, /* (none) = 403 */
03706   {    0,    0,    0,    0}, /* (none) = 404 */
03707   {    0,    0,    0,    0}, /* (none) = 405 */
03708   {    0,    0,    0,    0}, /* (none) = 406 */
03709   {    0,    0,    0,    0}, /* (none) = 407 */
03710   {    0,    0,    0,    0}, /* (none) = 408 */
03711   {    0,    0,    0,    0}, /* (none) = 409 */
03712   {    0,    0,    0,    0}, /* (none) = 410 */
03713   {    0,    0,    0,    0}, /* (none) = 411 */
03714   {    0,    0,    0,    0}, /* (none) = 412 */
03715   {    0,    0,    0,    0}, /* (none) = 413 */
03716   {    0,    0,    0,    0}, /* (none) = 414 */
03717   {    0,    0,    0,    0}, /* (none) = 415 */
03718   {    0,    0,    0,    0}, /* (none) = 416 */
03719   {    0,    0,    0,    0}, /* (none) = 417 */
03720   {    0,    0,    0,    0}, /* (none) = 418 */
03721   {    0,    0,    0,    0}, /* (none) = 419 */
03722   {    0,    0,    0,    0}, /* (none) = 420 */
03723   {   10,    0,    0,    0}, /* bnot: BNot(reg, reg) = 421 */
03724   {    0,    0,    0,    0}, /* (none) = 422 */
03725   {    0,    0,    0,    0}, /* (none) = 423 */
03726   {    0,    0,    0,    0}, /* (none) = 424 */
03727   {    0,    0,    0,    0}, /* (none) = 425 */
03728   {    0,    0,    0,    0}, /* (none) = 426 */
03729   {    0,    0,    0,    0}, /* (none) = 427 */
03730   {    0,    0,    0,    0}, /* (none) = 428 */
03731   {    0,    0,    0,    0}, /* (none) = 429 */
03732   {    0,    0,    0,    0}, /* (none) = 430 */
03733   {    0,    0,    0,    0}, /* (none) = 431 */
03734   {    0,    0,    0,    0}, /* (none) = 432 */
03735   {    0,    0,    0,    0}, /* (none) = 433 */
03736   {    0,    0,    0,    0}, /* (none) = 434 */
03737   {    0,    0,    0,    0}, /* (none) = 435 */
03738   {    0,    0,    0,    0}, /* (none) = 436 */
03739   {    0,    0,    0,    0}, /* (none) = 437 */
03740   {    0,    0,    0,    0}, /* reg: BAnd(reg, bnot) = 438 */
03741   {    0,    0,    0,    0}, /* reg: BOr(reg, bnot) = 439 */
03742   {    0,    0,    0,    0}, /* reg: BXor(reg, bnot) = 440 */
03743   {    0,    0,    0,    0}, /* (none) = 441 */
03744   {    0,    0,    0,    0}, /* (none) = 442 */
03745   {    0,    0,    0,    0}, /* (none) = 443 */
03746   {    0,    0,    0,    0}, /* (none) = 444 */
03747   {    0,    0,    0,    0}, /* (none) = 445 */
03748   {    0,    0,    0,    0}, /* (none) = 446 */
03749   {    0,    0,    0,    0}, /* (none) = 447 */
03750   {    0,    0,    0,    0}, /* (none) = 448 */
03751   {    0,    0,    0,    0}, /* (none) = 449 */
03752   {    0,    0,    0,    0}, /* (none) = 450 */
03753   {    0,    0,    0,    0}, /* (none) = 451 */
03754   {    0,    0,    0,    0}, /* (none) = 452 */
03755   {    0,    0,    0,    0}, /* (none) = 453 */
03756   {    0,    0,    0,    0}, /* (none) = 454 */
03757   {    0,    0,    0,    0}, /* (none) = 455 */
03758   {    0,    0,    0,    0}, /* (none) = 456 */
03759   {    0,    0,    0,    0}, /* (none) = 457 */
03760   {    0,    0,    0,    0}, /* (none) = 458 */
03761   {    0,    0,    0,    0}, /* (none) = 459 */
03762   {    0,    0,    0,    0}, /* (none) = 460 */
03763   {    0,    0,    0,    0}, /* (none) = 461 */
03764   {    0,    0,    0,    0}, /* (none) = 462 */
03765   {    0,    0,    0,    0}, /* (none) = 463 */
03766   {    0,    0,    0,    0}, /* (none) = 464 */
03767   {    0,    0,    0,    0}, /* (none) = 465 */
03768   {    0,    0,    0,    0}, /* (none) = 466 */
03769   {    0,    0,    0,    0}, /* (none) = 467 */
03770   {    0,    0,    0,    0}, /* (none) = 468 */
03771   {    0,    0,    0,    0}, /* (none) = 469 */
03772   {    0,    0,    0,    0}, /* (none) = 470 */
03773   {    0,    0,    0,    0}, /* (none) = 471 */
03774   {    0,    0,    0,    0}, /* (none) = 472 */
03775   {    0,    0,    0,    0}, /* (none) = 473 */
03776   {    0,    0,    0,    0}, /* (none) = 474 */
03777   {    0,    0,    0,    0}, /* (none) = 475 */
03778   {    0,    0,    0,    0}, /* (none) = 476 */
03779   {    0,    0,    0,    0}, /* (none) = 477 */
03780   {    0,    0,    0,    0}, /* (none) = 478 */
03781   {    0,    0,    0,    0}, /* (none) = 479 */
03782   {    0,    0,    0,    0}, /* (none) = 480 */
03783   {    0,    0,    0,    0}, /* (none) = 481 */
03784   {    0,    0,    0,    0}, /* (none) = 482 */
03785   {    0,    0,    0,    0}, /* (none) = 483 */
03786   {    0,    0,    0,    0}, /* (none) = 484 */
03787   {    0,    0,    0,    0}, /* (none) = 485 */
03788   {    0,    0,    0,    0}, /* (none) = 486 */
03789   {    0,    0,    0,    0}, /* (none) = 487 */
03790   {    0,    0,    0,    0}, /* (none) = 488 */
03791   {    0,    0,    0,    0}, /* (none) = 489 */
03792   {    0,    0,    0,    0}, /* (none) = 490 */
03793   {    0,    0,    0,    0}, /* (none) = 491 */
03794   {    0,    0,    0,    0}, /* (none) = 492 */
03795   {    0,    0,    0,    0}, /* (none) = 493 */
03796   {    0,    0,    0,    0}, /* (none) = 494 */
03797   {    0,    0,    0,    0}, /* (none) = 495 */
03798   {    0,    0,    0,    0}, /* (none) = 496 */
03799   {    0,    0,    0,    0}, /* (none) = 497 */
03800   {    0,    0,    0,    0}, /* (none) = 498 */
03801   {    0,    0,    0,    0}, /* (none) = 499 */
03802   {    0,    0,    0,    0}, /* (none) = 500 */
03803   {    0,    0,    0,    0}, /* (none) = 501 */
03804   {    0,    0,    0,    0}, /* (none) = 502 */
03805   {    0,    0,    0,    0}, /* (none) = 503 */
03806   {    0,    0,    0,    0}, /* (none) = 504 */
03807   {    0,    0,    0,    0}, /* (none) = 505 */
03808   {    0,    0,    0,    0}, /* (none) = 506 */
03809   {    0,    0,    0,    0}, /* (none) = 507 */
03810   {    0,    0,    0,    0}, /* (none) = 508 */
03811   {    0,    0,    0,    0}, /* (none) = 509 */
03812   {    0,    0,    0,    0}, /* (none) = 510 */
03813   {    0,    0,    0,    0}, /* (none) = 511 */
03814   {    0,    0,    0,    0}, /* (none) = 512 */
03815   {    0,    0,    0,    0}, /* (none) = 513 */
03816   {    0,    0,    0,    0}, /* (none) = 514 */
03817   {    0,    0,    0,    0}, /* (none) = 515 */
03818   {    0,    0,    0,    0}, /* (none) = 516 */
03819   {    0,    0,    0,    0}, /* (none) = 517 */
03820   {    0,    0,    0,    0}, /* (none) = 518 */
03821   {    0,    0,    0,    0}, /* (none) = 519 */
03822   {    0,    0,    0,    0}, /* (none) = 520 */
03823   {    0,    0,    0,    0}, /* (none) = 521 */
03824   {    0,    0,    0,    0}, /* (none) = 522 */
03825   {    0,    0,    0,    0}, /* (none) = 523 */
03826   {    0,    0,    0,    0}, /* (none) = 524 */
03827   {    0,    0,    0,    0}, /* (none) = 525 */
03828   {    0,    0,    0,    0}, /* (none) = 526 */
03829   {    0,    0,    0,    0}, /* (none) = 527 */
03830   {    0,    0,    0,    0}, /* (none) = 528 */
03831   {    0,    0,    0,    0}, /* (none) = 529 */
03832   {    0,    0,    0,    0}, /* (none) = 530 */
03833   {    0,    0,    0,    0}, /* (none) = 531 */
03834   {    0,    0,    0,    0}, /* (none) = 532 */
03835   {    0,    0,    0,    0}, /* (none) = 533 */
03836   {    0,    0,    0,    0}, /* (none) = 534 */
03837   {    0,    0,    0,    0}, /* (none) = 535 */
03838   {    0,    0,    0,    0}, /* (none) = 536 */
03839   {    0,    0,    0,    0}, /* (none) = 537 */
03840   {    0,    0,    0,    0}, /* reg: BAnd(reg, Constant) = 538 */
03841   {    0,    0,    0,    0}, /* reg: BOr(reg, Constant) = 539 */
03842   {    0,    0,    0,    0}, /* reg: BXor(reg, Constant) = 540 */
03843 };
03844 
03845 short burm_delta_cost[73][20][4] = {
03846 {{0}}, /* state 0 */
03847 { /* state #1: Add(VReg, VReg) */
03848   {0},
03849   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03850   {    0,    0,    0,    0}, /* reg: Add(reg, reg) = 33 */
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   {    0,    0,    0,    0}, /* (none) */
03858   {    0,    0,    0,    0}, /* (none) */
03859   {    0,    0,    0,    0}, /* (none) */
03860   {    0,    0,    0,    0}, /* (none) */
03861   {    0,    0,    0,    0}, /* (none) */
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 },
03869 { /* state #2: Add(VReg, Constant) */
03870   {0},
03871   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03872   {    0,    0,    0,    0}, /* reg: Add(reg, Constant) = 233 */
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   {    0,    0,    0,    0}, /* (none) */
03880   {    0,    0,    0,    0}, /* (none) */
03881   {    0,    0,    0,    0}, /* (none) */
03882   {    0,    0,    0,    0}, /* (none) */
03883   {    0,    0,    0,    0}, /* (none) */
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 },
03891 { /* state #3: Alloca */
03892   {0},
03893   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03894   {    0,    0,    0,    0}, /* reg: Alloca = 57 */
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   {    0,    0,    0,    0}, /* (none) */
03902   {    0,    0,    0,    0}, /* (none) */
03903   {    0,    0,    0,    0}, /* (none) */
03904   {    0,    0,    0,    0}, /* (none) */
03905   {    0,    0,    0,    0}, /* (none) */
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 },
03913 { /* state #4: AllocaN(VReg) */
03914   {0},
03915   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03916   {    0,    0,    0,    0}, /* reg: AllocaN(reg) = 58 */
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   {    0,    0,    0,    0}, /* (none) */
03924   {    0,    0,    0,    0}, /* (none) */
03925   {    0,    0,    0,    0}, /* (none) */
03926   {    0,    0,    0,    0}, /* (none) */
03927   {    0,    0,    0,    0}, /* (none) */
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 },
03935 { /* state #5: And(VReg, VReg) */
03936   {0},
03937   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03938   {    0,    0,    0,    0}, /* reg: And(reg, reg) = 38 */
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   {    0,    0,    0,    0}, /* (none) */
03946   {    0,    0,    0,    0}, /* (none) */
03947   {    0,    0,    0,    0}, /* (none) */
03948   {    0,    0,    0,    0}, /* (none) */
03949   {    0,    0,    0,    0}, /* (none) */
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 },
03957 { /* state #6: And(VReg, Constant) */
03958   {0},
03959   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03960   {    0,    0,    0,    0}, /* reg: And(reg, Constant) = 238 */
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   {    0,    0,    0,    0}, /* (none) */
03968   {    0,    0,    0,    0}, /* (none) */
03969   {    0,    0,    0,    0}, /* (none) */
03970   {    0,    0,    0,    0}, /* (none) */
03971   {    0,    0,    0,    0}, /* (none) */
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 },
03979 { /* state #7: And(VReg, Not(VReg, VReg)) */
03980   {0},
03981   {    0,    0,    0,    0}, /* stmt: reg = 111 */
03982   {    0,    0,    0,    0}, /* reg: And(reg, not) = 138 */
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   {    0,    0,    0,    0}, /* (none) */
03990   {    0,    0,    0,    0}, /* (none) */
03991   {    0,    0,    0,    0}, /* (none) */
03992   {    0,    0,    0,    0}, /* (none) */
03993   {    0,    0,    0,    0}, /* (none) */
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 },
04001 { /* state #8: BAnd(VReg, VReg) */
04002   {0},
04003   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04004   {    0,    0,    0,    0}, /* reg: BAnd(reg, reg) = 338 */
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   {    0,    0,    0,    0}, /* (none) */
04012   {    0,    0,    0,    0}, /* (none) */
04013   {    0,    0,    0,    0}, /* (none) */
04014   {    0,    0,    0,    0}, /* (none) */
04015   {    0,    0,    0,    0}, /* (none) */
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 },
04023 { /* state #9: BAnd(VReg, Constant) */
04024   {0},
04025   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04026   {    0,    0,    0,    0}, /* reg: BAnd(reg, Constant) = 538 */
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   {    0,    0,    0,    0}, /* (none) */
04034   {    0,    0,    0,    0}, /* (none) */
04035   {    0,    0,    0,    0}, /* (none) */
04036   {    0,    0,    0,    0}, /* (none) */
04037   {    0,    0,    0,    0}, /* (none) */
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 },
04045 { /* state #10: BAnd(VReg, BNot(VReg, VReg)) */
04046   {0},
04047   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04048   {    0,    0,    0,    0}, /* reg: BAnd(reg, bnot) = 438 */
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   {    0,    0,    0,    0}, /* (none) */
04056   {    0,    0,    0,    0}, /* (none) */
04057   {    0,    0,    0,    0}, /* (none) */
04058   {    0,    0,    0,    0}, /* (none) */
04059   {    0,    0,    0,    0}, /* (none) */
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 },
04067 { /* state #11: BNot(VReg, VReg) */
04068   {0},
04069   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04070   {    0,    0,    0,    0}, /* reg: bnot = 321 */
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}, /* (none) */
04076   {    0,    0,    0,    0}, /* (none) */
04077   {    0,    0,    0,    0}, /* (none) */
04078   {    0,    0,    0,    0}, /* (none) */
04079   {    0,    0,    0,    0}, /* (none) */
04080   {    0,    0,    0,    0}, /* (none) */
04081   {    0,    0,    0,    0}, /* (none) */
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}, /* bnot: BNot(reg, reg) = 421 */
04087   {    0,    0,    0,    0}, /* (none) */
04088 },
04089 { /* state #12: BOr(VReg, VReg) */
04090   {0},
04091   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04092   {    0,    0,    0,    0}, /* reg: BOr(reg, reg) = 339 */
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   {    0,    0,    0,    0}, /* (none) */
04100   {    0,    0,    0,    0}, /* (none) */
04101   {    0,    0,    0,    0}, /* (none) */
04102   {    0,    0,    0,    0}, /* (none) */
04103   {    0,    0,    0,    0}, /* (none) */
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 },
04111 { /* state #13: BOr(VReg, Constant) */
04112   {0},
04113   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04114   {    0,    0,    0,    0}, /* reg: BOr(reg, Constant) = 539 */
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   {    0,    0,    0,    0}, /* (none) */
04122   {    0,    0,    0,    0}, /* (none) */
04123   {    0,    0,    0,    0}, /* (none) */
04124   {    0,    0,    0,    0}, /* (none) */
04125   {    0,    0,    0,    0}, /* (none) */
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 },
04133 { /* state #14: BOr(VReg, BNot(VReg, VReg)) */
04134   {0},
04135   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04136   {    0,    0,    0,    0}, /* reg: BOr(reg, bnot) = 439 */
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   {    0,    0,    0,    0}, /* (none) */
04144   {    0,    0,    0,    0}, /* (none) */
04145   {    0,    0,    0,    0}, /* (none) */
04146   {    0,    0,    0,    0}, /* (none) */
04147   {    0,    0,    0,    0}, /* (none) */
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 },
04155 { /* state #15: BXor(VReg, VReg) */
04156   {0},
04157   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04158   {    0,    0,    0,    0}, /* reg: BXor(reg, reg) = 340 */
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   {    0,    0,    0,    0}, /* (none) */
04166   {    0,    0,    0,    0}, /* (none) */
04167   {    0,    0,    0,    0}, /* (none) */
04168   {    0,    0,    0,    0}, /* (none) */
04169   {    0,    0,    0,    0}, /* (none) */
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 },
04177 { /* state #16: BXor(VReg, Constant) */
04178   {0},
04179   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04180   {    0,    0,    0,    0}, /* reg: BXor(reg, Constant) = 540 */
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   {    0,    0,    0,    0}, /* (none) */
04188   {    0,    0,    0,    0}, /* (none) */
04189   {    0,    0,    0,    0}, /* (none) */
04190   {    0,    0,    0,    0}, /* (none) */
04191   {    0,    0,    0,    0}, /* (none) */
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 },
04199 { /* state #17: BXor(VReg, BNot(VReg, VReg)) */
04200   {0},
04201   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04202   {    0,    0,    0,    0}, /* reg: BXor(reg, bnot) = 440 */
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   {    0,    0,    0,    0}, /* (none) */
04210   {    0,    0,    0,    0}, /* (none) */
04211   {    0,    0,    0,    0}, /* (none) */
04212   {    0,    0,    0,    0}, /* (none) */
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 },
04221 { /* state #18: BrCond(VReg) */
04222   {0},
04223   {    0,    0,    0,    0}, /* stmt: BrCond(reg) = 8 */
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   {    0,    0,    0,    0}, /* (none) */
04232   {    0,    0,    0,    0}, /* (none) */
04233   {    0,    0,    0,    0}, /* (none) */
04234   {    0,    0,    0,    0}, /* (none) */
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 },
04243 { /* state #19: BrCond(Constant) */
04244   {0},
04245   {    0,    0,    0,    0}, /* stmt: BrCond(Constant) = 208 */
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   {    0,    0,    0,    0}, /* (none) */
04254   {    0,    0,    0,    0}, /* (none) */
04255   {    0,    0,    0,    0}, /* (none) */
04256   {    0,    0,    0,    0}, /* (none) */
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 },
04265 { /* state #20: BrCond(SetCC(VReg, VReg)) */
04266   {0},
04267   {    0,    0,    0,    0}, /* stmt: BrCond(setCC) = 6 */
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   {    0,    0,    0,    0}, /* (none) */
04276   {    0,    0,    0,    0}, /* (none) */
04277   {    0,    0,    0,    0}, /* (none) */
04278   {    0,    0,    0,    0}, /* (none) */
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 },
04287 { /* state #21: BrCond(SetCC(VReg, Constant)) */
04288   {0},
04289   {    0,    0,    0,    0}, /* stmt: BrCond(setCCconst) = 206 */
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   {    0,    0,    0,    0}, /* (none) */
04298   {    0,    0,    0,    0}, /* (none) */
04299   {    0,    0,    0,    0}, /* (none) */
04300   {    0,    0,    0,    0}, /* (none) */
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 },
04309 { /* state #22: BrUncond */
04310   {0},
04311   {    0,    0,    0,    0}, /* stmt: BrUncond = 5 */
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   {    0,    0,    0,    0}, /* (none) */
04320   {    0,    0,    0,    0}, /* (none) */
04321   {    0,    0,    0,    0}, /* (none) */
04322   {    0,    0,    0,    0}, /* (none) */
04323   {    0,    0,    0,    0}, /* (none) */
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 },
04331 { /* state #23: Call */
04332   {0},
04333   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04334   {    0,    0,    0,    0}, /* reg: Call = 61 */
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   {    0,    0,    0,    0}, /* (none) */
04342   {    0,    0,    0,    0}, /* (none) */
04343   {    0,    0,    0,    0}, /* (none) */
04344   {    0,    0,    0,    0}, /* (none) */
04345   {    0,    0,    0,    0}, /* (none) */
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 },
04353 { /* state #24: Constant */
04354   {0},
04355   {    3,    0,    0,    0}, /* stmt: reg = 111 */
04356   {    3,    0,    0,    0}, /* reg: Constant = 72 */
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   {    0,    0,    0,    0}, /* (none) */
04364   {    0,    0,    0,    0}, /* (none) */
04365   {    0,    0,    0,    0}, /* (none) */
04366   {    0,    0,    0,    0}, /* (none) */
04367   {    0,    0,    0,    0}, /* (none) */
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 },
04375 { /* state #25: Div(VReg, VReg) */
04376   {0},
04377   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04378   {    0,    0,    0,    0}, /* reg: Div(reg, reg) = 36 */
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   {    0,    0,    0,    0}, /* (none) */
04386   {    0,    0,    0,    0}, /* (none) */
04387   {    0,    0,    0,    0}, /* (none) */
04388   {    0,    0,    0,    0}, /* (none) */
04389   {    0,    0,    0,    0}, /* (none) */
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 },
04397 { /* state #26: Div(VReg, Constant) */
04398   {0},
04399   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04400   {    0,    0,    0,    0}, /* reg: Div(reg, Constant) = 236 */
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   {    0,    0,    0,    0}, /* (none) */
04408   {    0,    0,    0,    0}, /* (none) */
04409   {    0,    0,    0,    0}, /* (none) */
04410   {    0,    0,    0,    0}, /* (none) */
04411   {    0,    0,    0,    0}, /* (none) */
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 },
04419 { /* state #27: GetElemPtr(VReg) */
04420   {0},
04421   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04422   {    0,    0,    0,    0}, /* reg: ptrreg = 155 */
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}, /* (none) */
04429   {    0,    0,    0,    0}, /* (none) */
04430   {    0,    0,    0,    0}, /* (none) */
04431   {    0,    0,    0,    0}, /* (none) */
04432   {    0,    0,    0,    0}, /* (none) */
04433   {    0,    0,    0,    0}, /* (none) */
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}, /* ptrreg: GetElemPtr(reg) = 55 */
04440 },
04441 { /* state #28: GetElemPtrIdx(VReg, VReg) */
04442   {0},
04443   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04444   {    0,    0,    0,    0}, /* reg: ptrreg = 155 */
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}, /* (none) */
04451   {    0,    0,    0,    0}, /* (none) */
04452   {    0,    0,    0,    0}, /* (none) */
04453   {    0,    0,    0,    0}, /* (none) */
04454   {    0,    0,    0,    0}, /* (none) */
04455   {    0,    0,    0,    0}, /* (none) */
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}, /* ptrreg: GetElemPtrIdx(reg, reg) = 56 */
04462 },
04463 { /* state #29: Load(VReg) */
04464   {0},
04465   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04466   {    0,    0,    0,    0}, /* reg: Load(reg) = 51 */
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   {    0,    0,    0,    0}, /* (none) */
04474   {    0,    0,    0,    0}, /* (none) */
04475   {    0,    0,    0,    0}, /* (none) */
04476   {    0,    0,    0,    0}, /* (none) */
04477   {    0,    0,    0,    0}, /* (none) */
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 },
04485 { /* state #30: Load(GetElemPtr(VReg)) */
04486   {0},
04487   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04488   {    0,    0,    0,    0}, /* reg: Load(ptrreg) = 52 */
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   {    0,    0,    0,    0}, /* (none) */
04496   {    0,    0,    0,    0}, /* (none) */
04497   {    0,    0,    0,    0}, /* (none) */
04498   {    0,    0,    0,    0}, /* (none) */
04499   {    0,    0,    0,    0}, /* (none) */
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 },
04507 { /* state #31: Mul(VReg, VReg) */
04508   {0},
04509   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04510   {    0,    0,    0,    0}, /* reg: Mul(reg, reg) = 35 */
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   {    0,    0,    0,    0}, /* (none) */
04518   {    0,    0,    0,    0}, /* (none) */
04519   {    0,    0,    0,    0}, /* (none) */
04520   {    0,    0,    0,    0}, /* (none) */
04521   {    0,    0,    0,    0}, /* (none) */
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 },
04529 { /* state #32: Mul(VReg, Constant) */
04530   {0},
04531   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04532   {    0,    0,    0,    0}, /* reg: Mul(reg, Constant) = 235 */
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   {    0,    0,    0,    0}, /* (none) */
04540   {    0,    0,    0,    0}, /* (none) */
04541   {    0,    0,    0,    0}, /* (none) */
04542   {    0,    0,    0,    0}, /* (none) */
04543   {    0,    0,    0,    0}, /* (none) */
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 },
04551 { /* state #33: Mul(ToDoubleTy(VReg), ToDoubleTy(VReg)) */
04552   {0},
04553   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04554   {    0,    0,    0,    0}, /* reg: Mul(todouble, todouble) = 135 */
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   {    0,    0,    0,    0}, /* (none) */
04562   {    0,    0,    0,    0}, /* (none) */
04563   {    0,    0,    0,    0}, /* (none) */
04564   {    0,    0,    0,    0}, /* (none) */
04565   {    0,    0,    0,    0}, /* (none) */
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 },
04573 { /* state #34: Mul(ToDoubleTy(VReg), ToDoubleTy(Constant)) */
04574   {0},
04575   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04576   {    0,    0,    0,    0}, /* reg: Mul(todouble, todoubleConst) = 335 */
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   {    0,    0,    0,    0}, /* (none) */
04584   {    0,    0,    0,    0}, /* (none) */
04585   {    0,    0,    0,    0}, /* (none) */
04586   {    0,    0,    0,    0}, /* (none) */
04587   {    0,    0,    0,    0}, /* (none) */
04588   {    0,    0,    0,    0}, /* (none) */
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 },
04595 { /* state #35: Not(VReg, VReg) */
04596   {0},
04597   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04598   {    0,    0,    0,    0}, /* reg: not = 221 */
04599   {    0,    0,    0,    0}, /* not: Not(reg, reg) = 21 */
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   {    0,    0,    0,    0}, /* (none) */
04606   {    0,    0,    0,    0}, /* (none) */
04607   {    0,    0,    0,    0}, /* (none) */
04608   {    0,    0,    0,    0}, /* (none) */
04609   {    0,    0,    0,    0}, /* (none) */
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 },
04617 { /* state #36: Or(VReg, VReg) */
04618   {0},
04619   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04620   {    0,    0,    0,    0}, /* reg: Or(reg, reg) = 39 */
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   {    0,    0,    0,    0}, /* (none) */
04628   {    0,    0,    0,    0}, /* (none) */
04629   {    0,    0,    0,    0}, /* (none) */
04630   {    0,    0,    0,    0}, /* (none) */
04631   {    0,    0,    0,    0}, /* (none) */
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 },
04639 { /* state #37: Or(VReg, Constant) */
04640   {0},
04641   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04642   {    0,    0,    0,    0}, /* reg: Or(reg, Constant) = 239 */
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   {    0,    0,    0,    0}, /* (none) */
04650   {    0,    0,    0,    0}, /* (none) */
04651   {    0,    0,    0,    0}, /* (none) */
04652   {    0,    0,    0,    0}, /* (none) */
04653   {    0,    0,    0,    0}, /* (none) */
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 },
04661 { /* state #38: Or(VReg, Not(VReg, VReg)) */
04662   {0},
04663   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04664   {    0,    0,    0,    0}, /* reg: Or(reg, not) = 139 */
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   {    0,    0,    0,    0}, /* (none) */
04672   {    0,    0,    0,    0}, /* (none) */
04673   {    0,    0,    0,    0}, /* (none) */
04674   {    0,    0,    0,    0}, /* (none) */
04675   {    0,    0,    0,    0}, /* (none) */
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 },
04683 { /* state #39: Phi(VReg, VReg) */
04684   {0},
04685   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04686   {    0,    0,    0,    0}, /* reg: Phi(reg, reg) = 64 */
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   {    0,    0,    0,    0}, /* (none) */
04694   {    0,    0,    0,    0}, /* (none) */
04695   {    0,    0,    0,    0}, /* (none) */
04696   {    0,    0,    0,    0}, /* (none) */
04697   {    0,    0,    0,    0}, /* (none) */
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 },
04705 { /* state #40: Rem(VReg, VReg) */
04706   {0},
04707   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04708   {    0,    0,    0,    0}, /* reg: Rem(reg, reg) = 37 */
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   {    0,    0,    0,    0}, /* (none) */
04716   {    0,    0,    0,    0}, /* (none) */
04717   {    0,    0,    0,    0}, /* (none) */
04718   {    0,    0,    0,    0}, /* (none) */
04719   {    0,    0,    0,    0}, /* (none) */
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 },
04727 { /* state #41: Rem(VReg, Constant) */
04728   {0},
04729   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04730   {    0,    0,    0,    0}, /* reg: Rem(reg, Constant) = 237 */
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   {    0,    0,    0,    0}, /* (none) */
04738   {    0,    0,    0,    0}, /* (none) */
04739   {    0,    0,    0,    0}, /* (none) */
04740   {    0,    0,    0,    0}, /* (none) */
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 },
04749 { /* state #42: Ret */
04750   {0},
04751   {    0,    0,    0,    0}, /* stmt: Ret = 1 */
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   {    0,    0,    0,    0}, /* (none) */
04760   {    0,    0,    0,    0}, /* (none) */
04761   {    0,    0,    0,    0}, /* (none) */
04762   {    0,    0,    0,    0}, /* (none) */
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 },
04771 { /* state #43: RetValue(VReg) */
04772   {0},
04773   {    0,    0,    0,    0}, /* stmt: RetValue(reg) = 2 */
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   {    0,    0,    0,    0}, /* (none) */
04782   {    0,    0,    0,    0}, /* (none) */
04783   {    0,    0,    0,    0}, /* (none) */
04784   {    0,    0,    0,    0}, /* (none) */
04785   {    0,    0,    0,    0}, /* (none) */
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 },
04793 { /* state #44: SetCC(VReg, VReg) */
04794   {0},
04795   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04796   {    0,    0,    0,    0}, /* reg: setCC = 242 */
04797   {    0,    0,    0,    0}, /* (none) */
04798   {    0,    0,    0,    0}, /* (none) */
04799   {    0,    0,    0,    0}, /* (none) */
04800   {    0,    0,    0,    0}, /* (none) */
04801   {    0,    0,    0,    0}, /* (none) */
04802   {    0,    0,    0,    0}, /* (none) */
04803   {    0,    0,    0,    0}, /* (none) */
04804   {    0,    0,    0,    0}, /* (none) */
04805   {    0,    0,    0,    0}, /* (none) */
04806   {    0,    0,    0,    0}, /* (none) */
04807   {    0,    0,    0,    0}, /* (none) */
04808   {    0,    0,    0,    0}, /* (none) */
04809   {    0,    0,    0,    0}, /* (none) */
04810   {    0,    0,    0,    0}, /* (none) */
04811   {    0,    0,    0,    0}, /* setCC: SetCC(reg, reg) = 42 */
04812   {    0,    0,    0,    0}, /* (none) */
04813   {    0,    0,    0,    0}, /* (none) */
04814 },
04815 { /* state #45: SetCC(VReg, Constant) */
04816   {0},
04817   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04818   {    0,    0,    0,    0}, /* reg: setCCconst = 241 */
04819   {    0,    0,    0,    0}, /* (none) */
04820   {    0,    0,    0,    0}, /* (none) */
04821   {    0,    0,    0,    0}, /* (none) */
04822   {    0,    0,    0,    0}, /* (none) */
04823   {    0,    0,    0,    0}, /* (none) */
04824   {    0,    0,    0,    0}, /* (none) */
04825   {    0,    0,    0,    0}, /* (none) */
04826   {    0,    0,    0,    0}, /* (none) */
04827   {    0,    0,    0,    0}, /* (none) */
04828   {    0,    0,    0,    0}, /* (none) */
04829   {    0,    0,    0,    0}, /* (none) */
04830   {    0,    0,    0,    0}, /* (none) */
04831   {    0,    0,    0,    0}, /* (none) */
04832   {    0,    0,    0,    0}, /* setCCconst: SetCC(reg, Constant) = 41 */
04833   {    8,    0,    0,    0}, /* setCC: SetCC(reg, reg) = 42 */
04834   {    0,    0,    0,    0}, /* (none) */
04835   {    0,    0,    0,    0}, /* (none) */
04836 },
04837 { /* state #46: Shl(VReg, VReg) */
04838   {0},
04839   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04840   {    0,    0,    0,    0}, /* reg: Shl(reg, reg) = 62 */
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   {    0,    0,    0,    0}, /* (none) */
04848   {    0,    0,    0,    0}, /* (none) */
04849   {    0,    0,    0,    0}, /* (none) */
04850   {    0,    0,    0,    0}, /* (none) */
04851   {    0,    0,    0,    0}, /* (none) */
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 },
04859 { /* state #47: Shr(VReg, VReg) */
04860   {0},
04861   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04862   {    0,    0,    0,    0}, /* reg: Shr(reg, reg) = 63 */
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   {    0,    0,    0,    0}, /* (none) */
04870   {    0,    0,    0,    0}, /* (none) */
04871   {    0,    0,    0,    0}, /* (none) */
04872   {    0,    0,    0,    0}, /* (none) */
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 },
04881 { /* state #48: Store(VReg, VReg) */
04882   {0},
04883   {    0,    0,    0,    0}, /* stmt: Store(reg, reg) = 3 */
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   {    0,    0,    0,    0}, /* (none) */
04892   {    0,    0,    0,    0}, /* (none) */
04893   {    0,    0,    0,    0}, /* (none) */
04894   {    0,    0,    0,    0}, /* (none) */
04895   {    0,    0,    0,    0}, /* (none) */
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 },
04903 { /* state #49: Sub(VReg, VReg) */
04904   {0},
04905   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04906   {    0,    0,    0,    0}, /* reg: Sub(reg, reg) = 34 */
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   {    0,    0,    0,    0}, /* (none) */
04914   {    0,    0,    0,    0}, /* (none) */
04915   {    0,    0,    0,    0}, /* (none) */
04916   {    0,    0,    0,    0}, /* (none) */
04917   {    0,    0,    0,    0}, /* (none) */
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 },
04925 { /* state #50: Sub(VReg, Constant) */
04926   {0},
04927   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04928   {    0,    0,    0,    0}, /* reg: Sub(reg, Constant) = 234 */
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   {    0,    0,    0,    0}, /* (none) */
04936   {    0,    0,    0,    0}, /* (none) */
04937   {    0,    0,    0,    0}, /* (none) */
04938   {    0,    0,    0,    0}, /* (none) */
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 },
04947 { /* state #51: Switch(VReg) */
04948   {0},
04949   {    0,    0,    0,    0}, /* stmt: Switch(reg) = 9 */
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   {    0,    0,    0,    0}, /* (none) */
04958   {    0,    0,    0,    0}, /* (none) */
04959   {    0,    0,    0,    0}, /* (none) */
04960   {    0,    0,    0,    0}, /* (none) */
04961   {    0,    0,    0,    0}, /* (none) */
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 },
04969 { /* state #52: ToArrayTy(VReg) */
04970   {0},
04971   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04972   {    0,    0,    0,    0}, /* reg: ToArrayTy(reg) = 19 */
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   {    0,    0,    0,    0}, /* (none) */
04980   {    0,    0,    0,    0}, /* (none) */
04981   {    0,    0,    0,    0}, /* (none) */
04982   {    0,    0,    0,    0}, /* (none) */
04983   {    0,    0,    0,    0}, /* (none) */
04984   {    0,    0,    0,    0}, /* (none) */
04985   {    0,    0,    0,    0}, /* (none) */
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 },
04991 { /* state #53: ToBoolTy(VReg) */
04992   {0},
04993   {    0,    0,    0,    0}, /* stmt: reg = 111 */
04994   {    0,    0,    0,    0}, /* reg: tobool = 222 */
04995   {    0,    0,    0,    0}, /* (none) */
04996   {    0,    0,    0,    0}, /* tobool: ToBoolTy(reg) = 22 */
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   {    0,    0,    0,    0}, /* (none) */
05002   {    0,    0,    0,    0}, /* (none) */
05003   {    0,    0,    0,    0}, /* (none) */
05004   {    0,    0,    0,    0}, /* (none) */
05005   {    0,    0,    0,    0}, /* (none) */
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 },
05013 { /* state #54: ToDoubleTy(VReg) */
05014   {0},
05015   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05016   {    0,    0,    0,    0}, /* reg: todouble = 132 */
05017   {    0,    0,    0,    0}, /* (none) */
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   {    0,    0,    0,    0}, /* (none) */
05024   {    0,    0,    0,    0}, /* (none) */
05025   {    0,    0,    0,    0}, /* (none) */
05026   {    0,    0,    0,    0}, /* (none) */
05027   {    0,    0,    0,    0}, /* (none) */
05028   {    0,    0,    0,    0}, /* todouble: ToDoubleTy(reg) = 32 */
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 },
05035 { /* state #55: ToDoubleTy(Constant) */
05036   {0},
05037   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05038   {    0,    0,    0,    0}, /* reg: todoubleConst = 133 */
05039   {    0,    0,    0,    0}, /* (none) */
05040   {    0,    0,    0,    0}, /* (none) */
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   {    0,    0,    0,    0}, /* (none) */
05046   {    0,    0,    0,    0}, /* (none) */
05047   {    0,    0,    0,    0}, /* (none) */
05048   {    0,    0,    0,    0}, /* (none) */
05049   {    0,    0,    0,    0}, /* (none) */
05050   {    3,    0,    0,    0}, /* todouble: ToDoubleTy(reg) = 32 */
05051   {    0,    0,    0,    0}, /* todoubleConst: ToDoubleTy(Constant) = 232 */
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 },
05057 { /* state #56: ToFloatTy(VReg) */
05058   {0},
05059   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05060   {    0,    0,    0,    0}, /* reg: tofloat = 131 */
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   {    0,    0,    0,    0}, /* (none) */
05068   {    0,    0,    0,    0}, /* (none) */
05069   {    0,    0,    0,    0}, /* (none) */
05070   {    0,    0,    0,    0}, /* (none) */
05071   {    0,    0,    0,    0}, /* tofloat: ToFloatTy(reg) = 31 */
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 },
05079 { /* state #57: ToIntTy(VReg) */
05080   {0},
05081   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05082   {    0,    0,    0,    0}, /* reg: toint = 128 */
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   {    0,    0,    0,    0}, /* (none) */
05090   {    0,    0,    0,    0}, /* toint: ToIntTy(reg) = 28 */
05091   {    0,    0,    0,    0}, /* (none) */
05092   {    0,    0,    0,    0}, /* (none) */
05093   {    0,    0,    0,    0}, /* (none) */
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 },
05101 { /* state #58: ToLongTy(VReg) */
05102   {0},
05103   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05104   {    0,    0,    0,    0}, /* reg: tolong = 130 */
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   {    0,    0,    0,    0}, /* (none) */
05112   {    0,    0,    0,    0}, /* (none) */
05113   {    0,    0,    0,    0}, /* (none) */
05114   {    0,    0,    0,    0}, /* tolong: ToLongTy(reg) = 30 */
05115   {    0,    0,    0,    0}, /* (none) */
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 },
05123 { /* state #59: ToPointerTy(VReg) */
05124   {0},
05125   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05126   {    0,    0,    0,    0}, /* reg: ToPointerTy(reg) = 20 */
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   {    0,    0,    0,    0}, /* (none) */
05134   {    0,    0,    0,    0}, /* (none) */
05135   {    0,    0,    0,    0}, /* (none) */
05136   {    0,    0,    0,    0}, /* (none) */
05137   {    0,    0,    0,    0}, /* (none) */
05138   {    0,    0,    0,    0}, /* (none) */
05139   {    0,    0,    0,    0}, /* (none) */
05140   {    0,    0,    0,    0}, /* (none) */
05141   {    0,    0,    0,    0}, /* (none) */
05142   {    0,    0,    0,    0}, /* (none) */
05143   {    0,    0,    0,    0}, /* (none) */
05144 },
05145 { /* state #60: ToSByteTy(VReg) */
05146   {0},
05147   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05148   {    0,    0,    0,    0}, /* reg: tosbyte = 124 */
05149   {    0,    0,    0,    0}, /* (none) */
05150   {    0,    0,    0,    0}, /* (none) */
05151   {    0,    0,    0,    0}, /* (none) */
05152   {    0,    0,    0,    0}, /* tosbyte: ToSByteTy(reg) = 24 */
05153   {    0,    0,    0,    0}, /* (none) */
05154   {    0,    0,    0,    0}, /* (none) */
05155   {    0,    0,    0,    0}, /* (none) */
05156   {    0,    0,    0,    0}, /* (none) */
05157   {    0,    0,    0,    0}, /* (none) */
05158   {    0,    0,    0,    0}, /* (none) */
05159   {    0,    0,    0,    0}, /* (none) */
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}, /* (none) */
05166 },
05167 { /* state #61: ToShortTy(VReg) */
05168   {0},
05169   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05170   {    0,    0,    0,    0}, /* reg: toshort = 126 */
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}, /* toshort: ToShortTy(reg) = 26 */
05177   {    0,    0,    0,    0}, /* (none) */
05178   {    0,    0,    0,    0}, /* (none) */
05179   {    0,    0,    0,    0}, /* (none) */
05180   {    0,    0,    0,    0}, /* (none) */
05181   {    0,    0,    0,    0}, /* (none) */
05182   {    0,    0,    0,    0}, /* (none) */
05183   {    0,    0,    0,    0}, /* (none) */
05184   {    0,    0,    0,    0}, /* (none) */
05185   {    0,    0,    0,    0}, /* (none) */
05186   {    0,    0,    0,    0}, /* (none) */
05187   {    0,    0,    0,    0}, /* (none) */
05188 },
05189 { /* state #62: ToUByteTy(VReg) */
05190   {0},
05191   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05192   {    0,    0,    0,    0}, /* reg: toubyte = 123 */
05193   {    0,    0,    0,    0}, /* (none) */
05194   {    0,    0,    0,    0}, /* (none) */
05195   {    0,    0,    0,    0}, /* toubyte: ToUByteTy(reg) = 23 */
05196   {    0,    0,    0,    0}, /* (none) */
05197   {    0,    0,    0,    0}, /* (none) */
05198   {    0,    0,    0,    0}, /* (none) */
05199   {    0,    0,    0,    0}, /* (none) */
05200   {    0,    0,    0,    0}, /* (none) */
05201   {    0,    0,    0,    0}, /* (none) */
05202   {    0,    0,    0,    0}, /* (none) */
05203   {    0,    0,    0,    0}, /* (none) */
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 },
05211 { /* state #63: ToUIntTy(VReg) */
05212   {0},
05213   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05214   {    0,    0,    0,    0}, /* reg: touint = 127 */
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   {    0,    0,    0,    0}, /* touint: ToUIntTy(reg) = 27 */
05222   {    0,    0,    0,    0}, /* (none) */
05223   {    0,    0,    0,    0}, /* (none) */
05224   {    0,    0,    0,    0}, /* (none) */
05225   {    0,    0,    0,    0}, /* (none) */
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 },
05233 { /* state #64: ToULongTy(VReg) */
05234   {0},
05235   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05236   {    0,    0,    0,    0}, /* reg: toulong = 129 */
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   {    0,    0,    0,    0}, /* (none) */
05244   {    0,    0,    0,    0}, /* (none) */
05245   {    0,    0,    0,    0}, /* toulong: ToULongTy(reg) = 29 */
05246   {    0,    0,    0,    0}, /* (none) */
05247   {    0,    0,    0,    0}, /* (none) */
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}, /* (none) */
05253   {    0,    0,    0,    0}, /* (none) */
05254 },
05255 { /* state #65: ToUShortTy(VReg) */
05256   {0},
05257   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05258   {    0,    0,    0,    0}, /* reg: toushort = 125 */
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}, /* toushort: ToUShortTy(reg) = 25 */
05264   {    0,    0,    0,    0}, /* (none) */
05265   {    0,    0,    0,    0}, /* (none) */
05266   {    0,    0,    0,    0}, /* (none) */
05267   {    0,    0,    0,    0}, /* (none) */
05268   {    0,    0,    0,    0}, /* (none) */
05269   {    0,    0,    0,    0}, /* (none) */
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 },
05277 { /* state #66: VAArg(VReg) */
05278   {0},
05279   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05280   {    0,    0,    0,    0}, /* reg: VAArg(reg) = 66 */
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   {    0,    0,    0,    0}, /* (none) */
05288   {    0,    0,    0,    0}, /* (none) */
05289   {    0,    0,    0,    0}, /* (none) */
05290   {    0,    0,    0,    0}, /* (none) */
05291   {    0,    0,    0,    0}, /* (none) */
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 },
05299 { /* state #67: VANext(VReg) */
05300   {0},
05301   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05302   {    0,    0,    0,    0}, /* reg: VANext(reg) = 65 */
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   {    0,    0,    0,    0}, /* (none) */
05310   {    0,    0,    0,    0}, /* (none) */
05311   {    0,    0,    0,    0}, /* (none) */
05312   {    0,    0,    0,    0}, /* (none) */
05313   {    0,    0,    0,    0}, /* (none) */
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 },
05321 { /* state #68: VReg */
05322   {0},
05323   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05324   {    0,    0,    0,    0}, /* reg: VReg = 71 */
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   {    0,    0,    0,    0}, /* (none) */
05332   {    0,    0,    0,    0}, /* (none) */
05333   {    0,    0,    0,    0}, /* (none) */
05334   {    0,    0,    0,    0}, /* (none) */
05335   {    0,    0,    0,    0}, /* (none) */
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 },
05343 { /* state #69: VRegList(VReg, VReg) */
05344   {0},
05345   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05346   {    0,    0,    0,    0}, /* reg: VRegList(reg, reg) = 10 */
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   {    0,    0,    0,    0}, /* (none) */
05354   {    0,    0,    0,    0}, /* (none) */
05355   {    0,    0,    0,    0}, /* (none) */
05356   {    0,    0,    0,    0}, /* (none) */
05357   {    0,    0,    0,    0}, /* (none) */
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 },
05365 { /* state #70: Xor(VReg, VReg) */
05366   {0},
05367   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05368   {    0,    0,    0,    0}, /* reg: Xor(reg, reg) = 40 */
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   {    0,    0,    0,    0}, /* (none) */
05376   {    0,    0,    0,    0}, /* (none) */
05377   {    0,    0,    0,    0}, /* (none) */
05378   {    0,    0,    0,    0}, /* (none) */
05379   {    0,    0,    0,    0}, /* (none) */
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 },
05387 { /* state #71: Xor(VReg, Constant) */
05388   {0},
05389   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05390   {    0,    0,    0,    0}, /* reg: Xor(reg, Constant) = 240 */
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   {    0,    0,    0,    0}, /* (none) */
05398   {    0,    0,    0,    0}, /* (none) */
05399   {    0,    0,    0,    0}, /* (none) */
05400   {    0,    0,    0,    0}, /* (none) */
05401   {    0,    0,    0,    0}, /* (none) */
05402   {    0,    0,    0,    0}, /* (none) */
05403   {    0,    0,    0,    0}, /* (none) */
05404   {    0,    0,    0,    0}, /* (none) */
05405   {    0,    0,    0,    0}, /* (none) */
05406   {    0,    0,    0,    0}, /* (none) */
05407   {    0,    0,    0,    0}, /* (none) */
05408 },
05409 { /* state #72: Xor(VReg, Not(VReg, VReg)) */
05410   {0},
05411   {    0,    0,    0,    0}, /* stmt: reg = 111 */
05412   {    0,    0,    0,    0}, /* reg: Xor(reg, not) = 140 */
05413   {    0,    0,    0,    0}, /* (none) */
05414   {    0,    0,    0,    0}, /* (none) */
05415   {    0,    0,    0,    0}, /* (none) */
05416   {    0,    0,    0,    0}, /* (none) */
05417   {    0,    0,    0,    0}, /* (none) */
05418   {    0,    0,    0,    0}, /* (none) */
05419   {    0,    0,    0,    0}, /* (none) */
05420   {    0,    0,    0,    0}, /* (none) */
05421   {    0,    0,    0,    0}, /* (none) */
05422   {    0,    0,    0,    0}, /* (none) */
05423   {    0,    0,    0,    0}, /* (none) */
05424   {    0,    0,    0,    0}, /* (none) */
05425   {    0,    0,    0,    0}, /* (none) */
05426   {    0,    0,    0,    0}, /* (none) */
05427   {    0,    0,    0,    0}, /* (none) */
05428   {    0,    0,    0,    0}, /* (none) */
05429   {    0,    0,    0,    0}, /* (none) */
05430 },
05431 };
05432 
05433 const char * burm_state_string[] = {
05434 " not a state", /* state 0 */
05435   "Add(VReg, VReg)", /* state #1 */
05436   "Add(VReg, Constant)", /* state #2 */
05437   "Alloca", /* state #3 */
05438   "AllocaN(VReg)", /* state #4 */
05439   "And(VReg, VReg)", /* state #5 */
05440   "And(VReg, Constant)", /* state #6 */
05441   "And(VReg, Not(VReg, VReg))", /* state #7 */
05442   "BAnd(VReg, VReg)", /* state #8 */
05443   "BAnd(VReg, Constant)", /* state #9 */
05444   "BAnd(VReg, BNot(VReg, VReg))", /* state #10 */
05445   "BNot(VReg, VReg)", /* state #11 */
05446   "BOr(VReg, VReg)", /* state #12 */
05447   "BOr(VReg, Constant)", /* state #13 */
05448   "BOr(VReg, BNot(VReg, VReg))", /* state #14 */
05449   "BXor(VReg, VReg)", /* state #15 */
05450   "BXor(VReg, Constant)", /* state #16 */
05451   "BXor(VReg, BNot(VReg, VReg))", /* state #17 */
05452   "BrCond(VReg)", /* state #18 */
05453   "BrCond(Constant)", /* state #19 */
05454   "BrCond(SetCC(VReg, VReg))", /* state #20 */
05455   "BrCond(SetCC(VReg, Constant))", /* state #21 */
05456   "BrUncond", /* state #22 */
05457   "Call", /* state #23 */
05458   "Constant", /* state #24 */
05459   "Div(VReg, VReg)", /* state #25 */
05460   "Div(VReg, Constant)", /* state #26 */
05461   "GetElemPtr(VReg)", /* state #27 */
05462   "GetElemPtrIdx(VReg, VReg)", /* state #28 */
05463   "Load(VReg)", /* state #29 */
05464   "Load(GetElemPtr(VReg))", /* state #30 */
05465   "Mul(VReg, VReg)", /* state #31 */
05466   "Mul(VReg, Constant)", /* state #32 */
05467   "Mul(ToDoubleTy(VReg), ToDoubleTy(VReg))", /* state #33 */
05468   "Mul(ToDoubleTy(VReg), ToDoubleTy(Constant))", /* state #34 */
05469   "Not(VReg, VReg)", /* state #35 */
05470   "Or(VReg, VReg)", /* state #36 */
05471   "Or(VReg, Constant)", /* state #37 */
05472   "Or(VReg, Not(VReg, VReg))", /* state #38 */
05473   "Phi(VReg, VReg)", /* state #39 */
05474   "Rem(VReg, VReg)", /* state #40 */
05475   "Rem(VReg, Constant)", /* state #41 */
05476   "Ret", /* state #42 */
05477   "RetValue(VReg)", /* state #43 */
05478   "SetCC(VReg, VReg)", /* state #44 */
05479   "SetCC(VReg, Constant)", /* state #45 */
05480   "Shl(VReg, VReg)", /* state #46 */
05481   "Shr(VReg, VReg)", /* state #47 */
05482   "Store(VReg, VReg)", /* state #48 */
05483   "Sub(VReg, VReg)", /* state #49 */
05484   "Sub(VReg, Constant)", /* state #50 */
05485   "Switch(VReg)", /* state #51 */
05486   "ToArrayTy(VReg)", /* state #52 */
05487   "ToBoolTy(VReg)", /* state #53 */
05488   "ToDoubleTy(VReg)", /* state #54 */
05489   "ToDoubleTy(Constant)", /* state #55 */
05490   "ToFloatTy(VReg)", /* state #56 */
05491   "ToIntTy(VReg)", /* state #57 */
05492   "ToLongTy(VReg)", /* state #58 */
05493   "ToPointerTy(VReg)", /* state #59 */
05494   "ToSByteTy(VReg)", /* state #60 */
05495   "ToShortTy(VReg)", /* state #61 */
05496   "ToUByteTy(VReg)", /* state #62 */
05497   "ToUIntTy(VReg)", /* state #63 */
05498   "ToULongTy(VReg)", /* state #64 */
05499   "ToUShortTy(VReg)", /* state #65 */
05500   "VAArg(VReg)", /* state #66 */
05501   "VANext(VReg)", /* state #67 */
05502   "VReg", /* state #68 */
05503   "VRegList(VReg, VReg)", /* state #69 */
05504   "Xor(VReg, VReg)", /* state #70 */
05505   "Xor(VReg, Constant)", /* state #71 */
05506   "Xor(VReg, Not(VReg, VReg))", /* state #72 */
05507 };
05508 const char *burm_ntname[] = {
05509   "Error: Nonterminals are > 0",
05510   "stmt",
05511   "reg",
05512   "not",
05513   "tobool",
05514   "toubyte",
05515   "tosbyte",
05516   "toushort",
05517   "toshort",
05518   "touint",
05519   "toint",
05520   "toulong",
05521   "tolong",
05522   "tofloat",
05523   "todouble",
05524   "todoubleConst",
05525   "setCCconst",
05526   "setCC",
05527   "bnot",
05528   "ptrreg",
05529   0
05530 };
05531 
05532 short burm_closure[20][20] = {
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,  111,  111,  111,  111,  111,  111,  111,  111,
05536      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,},
05537   {    0,    0,    0,  221,  222,  123,  124,  125,  126,  127,
05538      128,  129,  130,  131,  132,  133,  241,  242,  321,  155,},
05539   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05540        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05541   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05542        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05543   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05544        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05545   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05546        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05547   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05548        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05549   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05550        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05551   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05552        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05553   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05554        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05555   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05556        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05557   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05558        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05559   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05560        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05561   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05562        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05563   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05564        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05565   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05566        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05567   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05568        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05569   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05570        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05571   {    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
05572        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,},
05573 };
05574 
05575 
05576 
05577 
05578 
05579 
05580 
05581 void printcover(NODEPTR_TYPE p, int goalnt, int indent) {
05582  int eruleno = burm_rule(STATE_LABEL(p), goalnt);
05583  short *nts = burm_nts[eruleno];
05584  NODEPTR_TYPE kids[10];
05585  int i;
05586 
05587  if (eruleno == 0) {
05588   printf("no cover\n");
05589   return;
05590  }
05591  for (i = 0; i < indent; i++)
05592   printf(".");
05593  printf("%s\n", burm_string[eruleno]);
05594  burm_kids(p, eruleno, kids);
05595  for (i = 0; nts[i]; i++)
05596   printcover(kids[i], nts[i], indent+1);
05597 }
05598 
05599 void printtree(NODEPTR_TYPE p) {
05600  int op = burm_op_label(p);
05601 
05602  printf("%s", burm_opname[op]);
05603  switch (burm_arity[op]) {
05604  case 0:
05605   break;
05606  case 1:
05607   printf("(");
05608   printtree(burm_child(p, 0));
05609   printf(")");
05610   break;
05611  case 2:
05612   printf("(");
05613   printtree(burm_child(p, 0));
05614   printf(", ");
05615   printtree(burm_child(p, 1));
05616   printf(")");
05617   break;
05618  }
05619 }
05620 
05621 int treecost(NODEPTR_TYPE p, int goalnt, int costindex) {
05622  int eruleno = burm_rule(STATE_LABEL(p), goalnt);
05623  int cost = burm_cost[eruleno][costindex], i;
05624  short *nts = burm_nts[eruleno];
05625  NODEPTR_TYPE kids[10];
05626 
05627  burm_kids(p, eruleno, kids);
05628  for (i = 0; nts[i]; i++)
05629   cost += treecost(kids[i], nts[i], costindex);
05630  return cost;
05631 }
05632 
05633 void printMatches(NODEPTR_TYPE p) {
05634  int nt;
05635  int eruleno;
05636 
05637  printf("Node 0x%lx= ", (unsigned long)p);
05638  printtree(p);
05639  printf(" matched rules:\n");
05640  for (nt = 1; burm_ntname[nt] != (char*)NULL; nt++)
05641   if ((eruleno = burm_rule(STATE_LABEL(p), nt)) != 0)
05642    printf("\t%s\n", burm_string[eruleno]);
05643 }