  (**************************************************************) 
  (*   This module was generated by BEG V1.84        *)
  (*        GMD Forschunsstelle an der Universitaet Karlsruhe   *)
  (*        Vincenz-Priessnitz-Str. 1 76131 Karlsruhe Germany   *)
  (**************************************************************)
--------------------------------------------------------------------------|          Statistics of Code Generator Description CgMobil
--------------------------------------------------------------------------
      Number of rules           :   279
      Number of statement Rules :   69
      Number of nonterminals    :   16
      Number of lines           :   3982
      Number of operators       :   115
      Number of statement opers :   45

      Number of rules per nonterminal 
        67 rules producing  reg          
        33 rules producing  freg          
        1 rules producing  fstack          
        23 rules producing  Constant          
        7 rules producing  FloatConstant          
        11 rules producing  SimpleVariable          
        8 rules producing  SymPlusOffset          
        14 rules producing  RegPlusSymPlusOffset          
        9 rules producing  OffsetPlusIndexMultFaktor          
        16 rules producing  mem          
        7 rules producing  CMem          
        2 rules producing  RegOrIm          
        2 rules producing  RegOrCMem          
        2 rules producing  RegOrCMemOrIm          
        7 rules producing  arglist          
        1 rules producing  loadln2          


      Number of rules per operator 
        1 rules with top level operator ShortCardConstant          
        1 rules with top level operator LongCardConstant          
        1 rules with top level operator ShortIntConstant          
        1 rules with top level operator LongIntConstant          
        1 rules with top level operator RealConstant          
        1 rules with top level operator LongRealConstant          
        1 rules with top level operator CharConstant          
        1 rules with top level operator BoolConstant          
        1 rules with top level operator SetConstant          
        1 rules with top level operator NilConstant          
        1 rules with top level operator ProcedureConstant          
        1 rules with top level operator StringAddr          
        2 rules with top level operator LocalVariable          
        0 rules with top level operator GlobalVariable          
        2 rules with top level operator StaticVariable          
        0 rules with top level operator LocalValueParam          
        0 rules with top level operator LocalVarParam          
        0 rules with top level operator LocalOpenArrayValueParam          
        0 rules with top level operator GlobalValueParam          
        0 rules with top level operator GlobalVarParam          
        0 rules with top level operator GlobalOpenArrayValueParam          
        0 rules with top level operator UsePointer          
        2 rules with top level operator FrameBase          
        0 rules with top level operator ParamBase          
        0 rules with top level operator AddOffset          
        0 rules with top level operator Subscript          
        0 rules with top level operator AddAddr          
        0 rules with top level operator SelectField          
        0 rules with top level operator AssignDataTempo          
        0 rules with top level operator AssignAddressTempo          
        0 rules with top level operator UseDataTempo          
        0 rules with top level operator UseAddressTempo          
        1 rules with top level operator Content          
        33 rules with top level operator Assign          
        2 rules with top level operator AssignLong          
        1 rules with top level operator Inc1          
        1 rules with top level operator Inc2          
        1 rules with top level operator Dec1          
        1 rules with top level operator Dec2          
        0 rules with top level operator Incl          
        0 rules with top level operator Excl          
        1 rules with top level operator InclL          
        1 rules with top level operator ExclL          
        1 rules with top level operator SkipAddress          
        1 rules with top level operator SkipData          
        2 rules with top level operator FixedNegate          
        25 rules with top level operator FixedPlus          
        10 rules with top level operator FixedMinus          
        27 rules with top level operator FixedMult          
        10 rules with top level operator FixedDiv          
        5 rules with top level operator FixedMod          
        2 rules with top level operator FixedAbs          
        1 rules with top level operator FloatNegate          
        4 rules with top level operator FloatPlus          
        4 rules with top level operator FloatMinus          
        4 rules with top level operator FloatMult          
        4 rules with top level operator FloatDiv          
        1 rules with top level operator FloatAbs          
        2 rules with top level operator SetUnion          
        2 rules with top level operator SetDifference          
        2 rules with top level operator SetIntersection          
        2 rules with top level operator SetSymDifference          
        0 rules with top level operator SetPlusSingle          
        2 rules with top level operator SetPlusSingleL          
        2 rules with top level operator SetPlusRange          
        1 rules with top level operator Cap          
        3 rules with top level operator Float          
        2 rules with top level operator Trunc          
        0 rules with top level operator Adr          
        13 rules with top level operator Coerce          
        0 rules with top level operator Check          
        5 rules with top level operator CheckL          
        3 rules with top level operator FixedCompare          
        3 rules with top level operator FloatCompare          
        2 rules with top level operator SetCompare          
        0 rules with top level operator PointerCompare          
        0 rules with top level operator TestMembership          
        1 rules with top level operator TestMembershipL          
        1 rules with top level operator TestOdd          
        1 rules with top level operator PlaceLabel          
        1 rules with top level operator Goto          
        1 rules with top level operator SwitchL          
        2 rules with top level operator TestAndBranch          
        3 rules with top level operator FixedCompareAndBranch          
        3 rules with top level operator FloatCompareAndBranch          
        2 rules with top level operator SetCompareAndBranch          
        0 rules with top level operator PointerCompareAndBranch          
        0 rules with top level operator TestMembershipAndBranch          
        1 rules with top level operator TestMembershipAndBranchL          
        1 rules with top level operator TestOddAndBranch          
        0 rules with top level operator PreCall          
        0 rules with top level operator PassValue          
        0 rules with top level operator PassLongValue          
        0 rules with top level operator PassOpenArrayValue          
        0 rules with top level operator PassStringValue          
        0 rules with top level operator PassAddress          
        0 rules with top level operator Call          
        0 rules with top level operator SysCall          
        0 rules with top level operator PostCall          
        0 rules with top level operator FunctionResult          
        2 rules with top level operator Nil          
        0 rules with top level operator SkipArglist          
        4 rules with top level operator Pass          
        2 rules with top level operator PassLong          
        2 rules with top level operator ProcedureCall          
        18 rules with top level operator FunctionCall          
        1 rules with top level operator RTSCall          
        1 rules with top level operator BeginProcedure          
        1 rules with top level operator CopyOpenArray          
        1 rules with top level operator Return          
        2 rules with top level operator ReturnValueL          
        0 rules with top level operator ReturnValue          
        1 rules with top level operator EndProcedure          
        1 rules with top level operator EndModule          
        1 rules with top level operator Mark          


 +---------------------------------------------+
 I   Single Result Nonterminal Optimization    I
 +---------------------------------------------+

  Total  0 single result nonterminal operators
  Total  0 single result nonterminals


 +---------------------------------------------+
 I   Chain Rule Order  Optimization            |
 +---------------------------------------------+

   Total 20 chain rules.
   MatchChainRules contains 37 rules.

 +---------------------------------------------+
 I   Rules                                     |
 +---------------------------------------------+
   219/332 : Constant    -> SymPlusOffset
   233/336 : SymPlusOffset    -> RegPlusSymPlusOffset
   232/341 : reg    -> RegPlusSymPlusOffset
   231/347 : reg    -> RegPlusSymPlusOffset
   242/357 : reg    -> OffsetPlusIndexMultFaktor
   241/363 : reg    -> OffsetPlusIndexMultFaktor
   258/373 : RegPlusSymPlusOffset    -> mem
   257/382 : OffsetPlusIndexMultFaktor    -> mem
   267/391 : reg    -> RegOrIm
   269/397 : reg    -> RegOrCMem
   268/403 : CMem    -> RegOrCMem
   271/409 : RegOrCMem    -> RegOrCMemOrIm
   266/418 : Constant    -> RegOrIm
   270/424 : Constant    -> RegOrCMemOrIm
   136/430 : mem    -> reg
   135/445 : RegOrCMemOrIm    -> reg
   265/452 : FloatConstant    -> CMem
   264/471 : FloatConstant    -> CMem
   169/490 : CMem    -> freg
   170/497 : freg    -> fstack
   193/507 : ShortCardConstant    -> Constant
   192/511 : LongCardConstant    -> Constant
   191/515 : ShortIntConstant    -> Constant
   190/519 : LongIntConstant    -> Constant
   200/523 : RealConstant    -> FloatConstant
   199/527 : LongRealConstant    -> FloatConstant
   189/531 : CharConstant    -> Constant
   188/535 : BoolConstant    -> Constant
   187/540 : SetConstant    -> Constant
   186/544 : NilConstant    -> Constant
   218/548 : ProcedureConstant    -> SymPlusOffset
   217/552 : StringAddr    -> SymPlusOffset
   211/559 : LocalVariable    -> SimpleVariable
   230/571 : LocalVariable    -> RegPlusSymPlusOffset
   210/579 : StaticVariable    -> SimpleVariable
   216/591 : StaticVariable    -> SymPlusOffset
   134/620 : FrameBase    -> reg
   263/624 : FrameBase    -> CMem
   209/634 : FixedPlus(Constant,FrameBase)    -> SimpleVariable
   208/634 : FixedPlus(FrameBase,Constant)    -> SimpleVariable
   262/689 : Content(mem)    -> CMem
   1/696 : Assign(mem,RegOrIm)    Statement
   2/701 : Assign(mem,freg)    Statement
   3/709 : Assign(mem,FloatConstant)    Statement
   4/717 : Assign(mem,FloatConstant)    Statement
   5/727 : Assign(mem,CMem)    Statement
   6/736 : Assign(mem,CMem)    Statement
   7/749 : Assign(SimpleVariable,Content(SimpleVariable))    Statement
   8/773 : AssignLong(mem,mem)    Statement
   9/807 : AssignLong(mem,mem)    Statement
   10/838 : Inc1(mem)    Statement
   11/842 : Dec1(mem)    Statement
   12/846 : Inc2(mem,RegOrIm)    Statement
   13/850 : Dec2(mem,RegOrIm)    Statement
   14/865 : InclL(mem,RegOrIm)    Statement
   15/882 : ExclL(mem,RegOrIm)    Statement
   16/889 : SkipAddress(RegOrCMemOrIm)    Statement
   17/892 : SkipData(RegOrCMemOrIm)    Statement
   185/898 : FixedNegate(Constant)    -> Constant
   133/902 : FixedNegate(reg)    -> reg
   184/910 : FixedAbs(Constant)    -> Constant
   132/922 : FixedAbs(reg)    -> reg
   183/935 : FixedPlus(Constant,Constant)    -> Constant
   215/939 : FixedPlus(Constant,SymPlusOffset)    -> SymPlusOffset
   214/939 : FixedPlus(SymPlusOffset,Constant)    -> SymPlusOffset
   229/943 : FixedPlus(reg,SymPlusOffset)    -> RegPlusSymPlusOffset
   228/943 : FixedPlus(SymPlusOffset,reg)    -> RegPlusSymPlusOffset
   227/949 : FixedPlus(reg,SymPlusOffset)    -> RegPlusSymPlusOffset
   226/949 : FixedPlus(SymPlusOffset,reg)    -> RegPlusSymPlusOffset
   225/959 : FixedPlus(Constant,RegPlusSymPlusOffset)    -> RegPlusSymPlusOffset
   224/959 : FixedPlus(RegPlusSymPlusOffset,Constant)    -> RegPlusSymPlusOffset
   240/964 : FixedPlus(Constant,OffsetPlusIndexMultFaktor)    -> OffsetPlusIndexMultFaktor
   239/964 : FixedPlus(OffsetPlusIndexMultFaktor,Constant)    -> OffsetPlusIndexMultFaktor
   256/970 : FixedPlus(RegPlusSymPlusOffset,OffsetPlusIndexMultFaktor)    -> mem
   255/970 : FixedPlus(OffsetPlusIndexMultFaktor,RegPlusSymPlusOffset)    -> mem
   254/979 : FixedPlus(Constant,mem)    -> mem
   253/979 : FixedPlus(mem,Constant)    -> mem
   207/988 : FixedPlus(Constant,SimpleVariable)    -> SimpleVariable
   206/988 : FixedPlus(SimpleVariable,Constant)    -> SimpleVariable
   131/993 : FixedPlus(RegOrCMemOrIm,reg)    -> reg
   130/993 : FixedPlus(reg,RegOrCMemOrIm)    -> reg
   18/999 : Assign(SimpleVariable,FixedPlus(Constant,Content(SimpleVariable)))    Statement
   19/999 : Assign(SimpleVariable,FixedPlus(Content(SimpleVariable),Constant))    Statement
   20/1013 : Assign(SimpleVariable,FixedPlus(RegOrIm,Content(SimpleVariable)))    Statement
   21/1013 : Assign(SimpleVariable,FixedPlus(Content(SimpleVariable),RegOrIm))    Statement
   22/1026 : Assign(SimpleVariable,FixedPlus(Content(SimpleVariable),Content(SimpleVariable)))    Statement
   182/1041 : FixedMinus(Constant,Constant)    -> Constant
   213/1045 : FixedMinus(SymPlusOffset,Constant)    -> SymPlusOffset
   223/1049 : FixedMinus(reg,Constant)    -> RegPlusSymPlusOffset
   222/1055 : FixedMinus(reg,Constant)    -> RegPlusSymPlusOffset
   221/1065 : FixedMinus(RegPlusSymPlusOffset,Constant)    -> RegPlusSymPlusOffset
   238/1070 : FixedMinus(OffsetPlusIndexMultFaktor,Constant)    -> OffsetPlusIndexMultFaktor
   252/1076 : FixedMinus(mem,Constant)    -> mem
   205/1085 : FixedMinus(SimpleVariable,Constant)    -> SimpleVariable
   129/1090 : FixedMinus(reg,RegOrCMemOrIm)    -> reg
   23/1096 : Assign(SimpleVariable,FixedMinus(Content(SimpleVariable),Constant))    Statement
   24/1110 : Assign(SimpleVariable,FixedMinus(Content(SimpleVariable),RegOrIm))    Statement
   181/1123 : FixedMinus(Content(SimpleVariable),Content(SimpleVariable))    -> Constant
   180/1131 : FixedMult(Constant,Constant)    -> Constant
   179/1135 : FixedMult(Constant,RegOrCMemOrIm)    -> Constant
   178/1135 : FixedMult(RegOrCMemOrIm,Constant)    -> Constant
   128/1140 : FixedMult(Constant,reg)    -> reg
   127/1140 : FixedMult(reg,Constant)    -> reg
   25/1145 : Assign(SimpleVariable,FixedMult(Constant,Content(SimpleVariable)))    Statement
   26/1145 : Assign(SimpleVariable,FixedMult(Content(SimpleVariable),Constant))    Statement
   126/1153 : FixedMult(Constant,reg)    -> reg
   125/1153 : FixedMult(reg,Constant)    -> reg
   124/1160 : FixedMult(Constant,reg)    -> reg
   123/1160 : FixedMult(reg,Constant)    -> reg
   237/1170 : FixedMult(Constant,OffsetPlusIndexMultFaktor)    -> OffsetPlusIndexMultFaktor
   236/1170 : FixedMult(OffsetPlusIndexMultFaktor,Constant)    -> OffsetPlusIndexMultFaktor
   251/1179 : FixedMult(Constant,OffsetPlusIndexMultFaktor)    -> mem
   250/1179 : FixedMult(OffsetPlusIndexMultFaktor,Constant)    -> mem
   204/1190 : FixedPlus(FixedMult(Constant,Coerce(Content(SimpleVariable))),SimpleVariable)    -> SimpleVariable
   203/1190 : FixedPlus(FixedMult(Coerce(Content(SimpleVariable)),Constant),SimpleVariable)    -> SimpleVariable
   202/1190 : FixedPlus(SimpleVariable,FixedMult(Constant,Coerce(Content(SimpleVariable))))    -> SimpleVariable
   201/1190 : FixedPlus(SimpleVariable,FixedMult(Coerce(Content(SimpleVariable)),Constant))    -> SimpleVariable
   122/1206 : FixedMult(Constant,reg)    -> reg
   121/1206 : FixedMult(reg,Constant)    -> reg
   27/1214 : Assign(SimpleVariable,FixedMult(Constant,Content(SimpleVariable)))    Statement
   28/1214 : Assign(SimpleVariable,FixedMult(Content(SimpleVariable),Constant))    Statement
   249/1229 : FixedMult(Constant,reg)    -> mem
   248/1229 : FixedMult(reg,Constant)    -> mem
   247/1244 : FixedMult(Constant,reg)    -> mem
   246/1244 : FixedMult(reg,Constant)    -> mem
   245/1259 : FixedMult(Constant,reg)    -> mem
   244/1259 : FixedMult(reg,Constant)    -> mem
   120/1274 : FixedMult(RegOrCMemOrIm,reg)    -> reg
   119/1274 : FixedMult(reg,RegOrCMemOrIm)    -> reg
   118/1281 : FixedMult(RegOrCMem,Constant)    -> reg
   117/1281 : FixedMult(Constant,RegOrCMem)    -> reg
   116/1287 : FixedMult(Content(SimpleVariable),Content(SimpleVariable))    -> reg
   29/1300 : Assign(SimpleVariable,FixedMult(Content(SimpleVariable),Content(SimpleVariable)))    Statement
   115/1317 : FixedMult(reg,reg)    -> reg
   177/1338 : FixedDiv(Constant,Constant)    -> Constant
   114/1343 : FixedDiv(reg,Constant)    -> reg
   113/1349 : FixedDiv(reg,Constant)    -> reg
   235/1354 : FixedDiv(OffsetPlusIndexMultFaktor,Constant)    -> OffsetPlusIndexMultFaktor
   112/1365 : FixedDiv(reg,Constant)    -> reg
   30/1373 : Assign(SimpleVariable,FixedDiv(Content(SimpleVariable),Constant))    Statement
   111/1388 : FixedDiv(reg,Constant)    -> reg
   31/1396 : Assign(SimpleVariable,FixedDiv(Content(SimpleVariable),Constant))    Statement
   176/1411 : FixedDiv(Content(SimpleVariable),Content(SimpleVariable))    -> Constant
   110/1419 : FixedDiv(reg,reg)    -> reg
   109/1431 : FixedDiv(reg,reg)    -> reg
   108/1443 : FixedDiv(reg,reg)    -> reg
   175/1455 : FixedMod(Constant,Constant)    -> Constant
   107/1460 : FixedMod(reg,Constant)    -> reg
   32/1467 : Assign(SimpleVariable,FixedMod(Content(SimpleVariable),Constant))    Statement
   106/1481 : FixedMod(reg,reg)    -> reg
   105/1492 : FixedMod(reg,reg)    -> reg
   104/1503 : FixedMod(reg,reg)    -> reg
   168/1517 : FloatNegate(freg)    -> freg
   167/1522 : FloatPlus(CMem,freg)    -> freg
   166/1522 : FloatPlus(freg,CMem)    -> freg
   165/1527 : FloatPlus(fstack,freg)    -> freg
   164/1527 : FloatPlus(freg,fstack)    -> freg
   163/1532 : FloatMinus(freg,CMem)    -> freg
   162/1537 : FloatMinus(CMem,freg)    -> freg
   161/1542 : FloatMinus(fstack,freg)    -> freg
   160/1547 : FloatMinus(freg,fstack)    -> freg
   159/1552 : FloatMult(CMem,freg)    -> freg
   158/1552 : FloatMult(freg,CMem)    -> freg
   157/1557 : FloatMult(fstack,freg)    -> freg
   156/1557 : FloatMult(freg,fstack)    -> freg
   155/1562 : FloatDiv(freg,CMem)    -> freg
   154/1567 : FloatDiv(CMem,freg)    -> freg
   153/1572 : FloatDiv(fstack,reg)    -> freg
   152/1577 : FloatDiv(freg,fstack)    -> freg
   151/1582 : FloatAbs(freg)    -> freg
   103/1590 : SetUnion(RegOrCMemOrIm,reg)    -> reg
   102/1590 : SetUnion(reg,RegOrCMemOrIm)    -> reg
   33/1596 : Assign(SimpleVariable,SetUnion(RegOrIm,Content(SimpleVariable)))    Statement
   34/1596 : Assign(SimpleVariable,SetUnion(Content(SimpleVariable),RegOrIm))    Statement
   101/1609 : SetDifference(RegOrCMemOrIm,reg)    -> reg
   100/1618 : SetDifference(reg,Constant)    -> reg
   35/1626 : Assign(SimpleVariable,SetDifference(Content(SimpleVariable),reg))    Statement
   36/1640 : Assign(SimpleVariable,SetDifference(Content(SimpleVariable),Constant))    Statement
   99/1653 : SetIntersection(RegOrCMemOrIm,reg)    -> reg
   98/1653 : SetIntersection(reg,RegOrCMemOrIm)    -> reg
   37/1659 : Assign(SimpleVariable,SetIntersection(RegOrIm,Content(SimpleVariable)))    Statement
   38/1659 : Assign(SimpleVariable,SetIntersection(Content(SimpleVariable),RegOrIm))    Statement
   97/1672 : SetSymDifference(RegOrCMemOrIm,reg)    -> reg
   96/1672 : SetSymDifference(reg,RegOrCMemOrIm)    -> reg
   39/1678 : Assign(SimpleVariable,SetSymDifference(RegOrIm,Content(SimpleVariable)))    Statement
   40/1678 : Assign(SimpleVariable,SetSymDifference(Content(SimpleVariable),RegOrIm))    Statement
   95/1695 : SetPlusSingleL(reg,Constant)    -> reg
   94/1701 : SetPlusSingleL(reg,RegOrIm)    -> reg
   93/1707 : SetPlusRange(reg,Constant,Constant)    -> reg
   92/1713 : SetPlusRange(reg,RegOrCMemOrIm,reg)    -> reg
   91/1735 : Cap(reg)    -> reg
   150/1748 : Float(CMem)    -> freg
   149/1760 : Float(reg)    -> freg
   198/1774 : Float(Constant)    -> FloatConstant
   174/1778 : Trunc(FloatConstant)    -> Constant
   90/1785 : Trunc(freg)    -> reg
   41/1804 : Assign(mem,Trunc(freg))    Statement
   173/1823 : Coerce(Constant)    -> Constant
   212/1828 : Coerce(SymPlusOffset)    -> SymPlusOffset
   220/1834 : Coerce(RegPlusSymPlusOffset)    -> RegPlusSymPlusOffset
   234/1841 : Coerce(OffsetPlusIndexMultFaktor)    -> OffsetPlusIndexMultFaktor
   243/1848 : Coerce(mem)    -> mem
   261/1859 : Coerce(CMem)    -> CMem
   89/1868 : Coerce(RegOrCMem)    -> reg
   88/1881 : Coerce(reg)    -> reg
   197/1887 : Coerce(Constant)    -> FloatConstant
   196/1892 : Coerce(FloatConstant)    -> FloatConstant
   148/1897 : Coerce(freg)    -> freg
   260/1901 : Coerce(freg)    -> CMem
   259/1917 : Coerce(RegOrIm)    -> CMem
   87/1941 : CheckL(reg,Constant,Constant)    -> reg
   86/1946 : CheckL(reg,Constant,Constant)    -> reg
   85/1974 : CheckL(reg,RegOrCMemOrIm,RegOrCMemOrIm)    -> reg
   84/1987 : CheckL(reg,RegOrCMemOrIm,RegOrCMemOrIm)    -> reg
   147/2010 : CheckL(freg,CMem,CMem)    -> freg
   83/2039 : FixedCompare(reg,RegOrCMemOrIm)    -> reg
   82/2047 : FixedCompare(CMem,RegOrIm)    -> reg
   81/2055 : FixedCompare(Constant,RegOrCMem)    -> reg
   80/2063 : FloatCompare(freg,CMem)    -> reg
   79/2075 : FloatCompare(CMem,freg)    -> reg
   78/2087 : FloatCompare(fstack,freg)    -> reg
   77/2105 : SetCompare(reg,RegOrCMemOrIm)    -> reg
   76/2114 : SetCompare(reg,RegOrCMemOrIm)    -> reg
   75/2146 : TestMembershipL(RegOrIm,RegOrCMem)    -> reg
   74/2158 : TestOdd(reg)    -> reg
   42/2171 : PlaceLabel    Statement
   43/2178 : Goto    Statement
   44/2185 : SwitchL(reg)    Statement
   45/2206 : TestAndBranch(reg)    Statement
   46/2215 : TestAndBranch(CMem)    Statement
   47/2224 : FixedCompareAndBranch(reg,RegOrCMemOrIm)    Statement
   48/2232 : FixedCompareAndBranch(CMem,RegOrIm)    Statement
   49/2240 : FixedCompareAndBranch(Constant,RegOrCMem)    Statement
   50/2248 : FloatCompareAndBranch(freg,CMem)    Statement
   51/2260 : FloatCompareAndBranch(CMem,freg)    Statement
   52/2272 : FloatCompareAndBranch(fstack,freg)    Statement
   53/2290 : SetCompareAndBranch(reg,RegOrCMemOrIm)    Statement
   54/2299 : SetCompareAndBranch(reg,RegOrCMemOrIm)    Statement
   55/2331 : TestMembershipAndBranchL(RegOrIm,RegOrCMem)    Statement
   56/2343 : TestOddAndBranch(reg)    Statement
   278/2416 : Nil    -> arglist
   277/2418 : Pass(arglist,RegOrCMemOrIm)    -> arglist
   276/2436 : Pass(arglist,Constant)    -> arglist
   275/2442 : Pass(arglist,CMem)    -> arglist
   274/2452 : Pass(arglist,freg)    -> arglist
   273/2461 : PassLong(arglist,mem)    -> arglist
   272/2471 : PassLong(arglist,reg)    -> arglist
   57/2483 : ProcedureCall(arglist,reg)    Statement
   58/2495 : ProcedureCall(arglist,ProcedureConstant)    Statement
   73/2507 : FunctionCall(arglist,reg)    -> reg
   72/2522 : FunctionCall(arglist,ProcedureConstant)    -> reg
   146/2537 : FunctionCall(arglist,reg)    -> freg
   145/2552 : FunctionCall(arglist,ProcedureConstant)    -> freg
   59/2567 : RTSCall(arglist)    Statement
   144/2592 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> freg
   143/2603 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> freg
   142/2641 : FunctionCall(Pass(loadln2,freg),ProcedureConstant)    -> freg
   279/2668 : Nil    -> loadln2
   141/2675 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> freg
   140/2686 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> freg
   139/2697 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> freg
   138/2713 : FunctionCall(Pass(Nil,CMem),ProcedureConstant)    -> freg
   137/2728 : FunctionCall(Pass(Nil,reg),ProcedureConstant)    -> freg
   195/2745 : FunctionCall(Pass(Nil,Constant),ProcedureConstant)    -> FloatConstant
   194/2755 : FunctionCall(Pass(Nil,Constant),ProcedureConstant)    -> FloatConstant
   71/2763 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> reg
   172/2779 : FunctionCall(Pass(Nil,FloatConstant),ProcedureConstant)    -> Constant
   60/2791 : Assign(mem,FunctionCall(Pass(Nil,freg),ProcedureConstant))    Statement
   70/2807 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> reg
   171/2821 : FunctionCall(Pass(Nil,FloatConstant),ProcedureConstant)    -> Constant
   61/2831 : Assign(mem,FunctionCall(Pass(Nil,freg),ProcedureConstant))    Statement
   62/2848 : BeginProcedure    Statement
   63/2952 : CopyOpenArray    Statement
   64/3000 : Return    Statement
   65/3033 : ReturnValueL(reg)    Statement
   66/3036 : ReturnValueL(freg)    Statement
   67/3042 : EndProcedure    Statement
   68/3052 : EndModule    Statement
   69/3078 : Mark    Statement

 +---------------------------------------------+
 I   Rules by Numbers                          |
 +---------------------------------------------+
   1/696 : Assign(mem,RegOrIm)    Statement
   2/701 : Assign(mem,freg)    Statement
   3/709 : Assign(mem,FloatConstant)    Statement
   4/717 : Assign(mem,FloatConstant)    Statement
   5/727 : Assign(mem,CMem)    Statement
   6/736 : Assign(mem,CMem)    Statement
   7/749 : Assign(SimpleVariable,Content(SimpleVariable))    Statement
   8/773 : AssignLong(mem,mem)    Statement
   9/807 : AssignLong(mem,mem)    Statement
   10/838 : Inc1(mem)    Statement
   11/842 : Dec1(mem)    Statement
   12/846 : Inc2(mem,RegOrIm)    Statement
   13/850 : Dec2(mem,RegOrIm)    Statement
   14/865 : InclL(mem,RegOrIm)    Statement
   15/882 : ExclL(mem,RegOrIm)    Statement
   16/889 : SkipAddress(RegOrCMemOrIm)    Statement
   17/892 : SkipData(RegOrCMemOrIm)    Statement
   18/999 : Assign(SimpleVariable,FixedPlus(Constant,Content(SimpleVariable)))    Statement
   19/999 : Assign(SimpleVariable,FixedPlus(Content(SimpleVariable),Constant))    Statement
   20/1013 : Assign(SimpleVariable,FixedPlus(RegOrIm,Content(SimpleVariable)))    Statement
   21/1013 : Assign(SimpleVariable,FixedPlus(Content(SimpleVariable),RegOrIm))    Statement
   22/1026 : Assign(SimpleVariable,FixedPlus(Content(SimpleVariable),Content(SimpleVariable)))    Statement
   23/1096 : Assign(SimpleVariable,FixedMinus(Content(SimpleVariable),Constant))    Statement
   24/1110 : Assign(SimpleVariable,FixedMinus(Content(SimpleVariable),RegOrIm))    Statement
   25/1145 : Assign(SimpleVariable,FixedMult(Constant,Content(SimpleVariable)))    Statement
   26/1145 : Assign(SimpleVariable,FixedMult(Content(SimpleVariable),Constant))    Statement
   27/1214 : Assign(SimpleVariable,FixedMult(Constant,Content(SimpleVariable)))    Statement
   28/1214 : Assign(SimpleVariable,FixedMult(Content(SimpleVariable),Constant))    Statement
   29/1300 : Assign(SimpleVariable,FixedMult(Content(SimpleVariable),Content(SimpleVariable)))    Statement
   30/1373 : Assign(SimpleVariable,FixedDiv(Content(SimpleVariable),Constant))    Statement
   31/1396 : Assign(SimpleVariable,FixedDiv(Content(SimpleVariable),Constant))    Statement
   32/1467 : Assign(SimpleVariable,FixedMod(Content(SimpleVariable),Constant))    Statement
   33/1596 : Assign(SimpleVariable,SetUnion(RegOrIm,Content(SimpleVariable)))    Statement
   34/1596 : Assign(SimpleVariable,SetUnion(Content(SimpleVariable),RegOrIm))    Statement
   35/1626 : Assign(SimpleVariable,SetDifference(Content(SimpleVariable),reg))    Statement
   36/1640 : Assign(SimpleVariable,SetDifference(Content(SimpleVariable),Constant))    Statement
   37/1659 : Assign(SimpleVariable,SetIntersection(RegOrIm,Content(SimpleVariable)))    Statement
   38/1659 : Assign(SimpleVariable,SetIntersection(Content(SimpleVariable),RegOrIm))    Statement
   39/1678 : Assign(SimpleVariable,SetSymDifference(RegOrIm,Content(SimpleVariable)))    Statement
   40/1678 : Assign(SimpleVariable,SetSymDifference(Content(SimpleVariable),RegOrIm))    Statement
   41/1804 : Assign(mem,Trunc(freg))    Statement
   42/2171 : PlaceLabel    Statement
   43/2178 : Goto    Statement
   44/2185 : SwitchL(reg)    Statement
   45/2206 : TestAndBranch(reg)    Statement
   46/2215 : TestAndBranch(CMem)    Statement
   47/2224 : FixedCompareAndBranch(reg,RegOrCMemOrIm)    Statement
   48/2232 : FixedCompareAndBranch(CMem,RegOrIm)    Statement
   49/2240 : FixedCompareAndBranch(Constant,RegOrCMem)    Statement
   50/2248 : FloatCompareAndBranch(freg,CMem)    Statement
   51/2260 : FloatCompareAndBranch(CMem,freg)    Statement
   52/2272 : FloatCompareAndBranch(fstack,freg)    Statement
   53/2290 : SetCompareAndBranch(reg,RegOrCMemOrIm)    Statement
   54/2299 : SetCompareAndBranch(reg,RegOrCMemOrIm)    Statement
   55/2331 : TestMembershipAndBranchL(RegOrIm,RegOrCMem)    Statement
   56/2343 : TestOddAndBranch(reg)    Statement
   57/2483 : ProcedureCall(arglist,reg)    Statement
   58/2495 : ProcedureCall(arglist,ProcedureConstant)    Statement
   59/2567 : RTSCall(arglist)    Statement
   60/2791 : Assign(mem,FunctionCall(Pass(Nil,freg),ProcedureConstant))    Statement
   61/2831 : Assign(mem,FunctionCall(Pass(Nil,freg),ProcedureConstant))    Statement
   62/2848 : BeginProcedure    Statement
   63/2952 : CopyOpenArray    Statement
   64/3000 : Return    Statement
   65/3033 : ReturnValueL(reg)    Statement
   66/3036 : ReturnValueL(freg)    Statement
   67/3042 : EndProcedure    Statement
   68/3052 : EndModule    Statement
   69/3078 : Mark    Statement
   70/2807 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> reg
   71/2763 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> reg
   72/2522 : FunctionCall(arglist,ProcedureConstant)    -> reg
   73/2507 : FunctionCall(arglist,reg)    -> reg
   74/2158 : TestOdd(reg)    -> reg
   75/2146 : TestMembershipL(RegOrIm,RegOrCMem)    -> reg
   76/2114 : SetCompare(reg,RegOrCMemOrIm)    -> reg
   77/2105 : SetCompare(reg,RegOrCMemOrIm)    -> reg
   78/2087 : FloatCompare(fstack,freg)    -> reg
   79/2075 : FloatCompare(CMem,freg)    -> reg
   80/2063 : FloatCompare(freg,CMem)    -> reg
   81/2055 : FixedCompare(Constant,RegOrCMem)    -> reg
   82/2047 : FixedCompare(CMem,RegOrIm)    -> reg
   83/2039 : FixedCompare(reg,RegOrCMemOrIm)    -> reg
   84/1987 : CheckL(reg,RegOrCMemOrIm,RegOrCMemOrIm)    -> reg
   85/1974 : CheckL(reg,RegOrCMemOrIm,RegOrCMemOrIm)    -> reg
   86/1946 : CheckL(reg,Constant,Constant)    -> reg
   87/1941 : CheckL(reg,Constant,Constant)    -> reg
   88/1881 : Coerce(reg)    -> reg
   89/1868 : Coerce(RegOrCMem)    -> reg
   90/1785 : Trunc(freg)    -> reg
   91/1735 : Cap(reg)    -> reg
   92/1713 : SetPlusRange(reg,RegOrCMemOrIm,reg)    -> reg
   93/1707 : SetPlusRange(reg,Constant,Constant)    -> reg
   94/1701 : SetPlusSingleL(reg,RegOrIm)    -> reg
   95/1695 : SetPlusSingleL(reg,Constant)    -> reg
   96/1672 : SetSymDifference(reg,RegOrCMemOrIm)    -> reg
   97/1672 : SetSymDifference(RegOrCMemOrIm,reg)    -> reg
   98/1653 : SetIntersection(reg,RegOrCMemOrIm)    -> reg
   99/1653 : SetIntersection(RegOrCMemOrIm,reg)    -> reg
   100/1618 : SetDifference(reg,Constant)    -> reg
   101/1609 : SetDifference(RegOrCMemOrIm,reg)    -> reg
   102/1590 : SetUnion(reg,RegOrCMemOrIm)    -> reg
   103/1590 : SetUnion(RegOrCMemOrIm,reg)    -> reg
   104/1503 : FixedMod(reg,reg)    -> reg
   105/1492 : FixedMod(reg,reg)    -> reg
   106/1481 : FixedMod(reg,reg)    -> reg
   107/1460 : FixedMod(reg,Constant)    -> reg
   108/1443 : FixedDiv(reg,reg)    -> reg
   109/1431 : FixedDiv(reg,reg)    -> reg
   110/1419 : FixedDiv(reg,reg)    -> reg
   111/1388 : FixedDiv(reg,Constant)    -> reg
   112/1365 : FixedDiv(reg,Constant)    -> reg
   113/1349 : FixedDiv(reg,Constant)    -> reg
   114/1343 : FixedDiv(reg,Constant)    -> reg
   115/1317 : FixedMult(reg,reg)    -> reg
   116/1287 : FixedMult(Content(SimpleVariable),Content(SimpleVariable))    -> reg
   117/1281 : FixedMult(Constant,RegOrCMem)    -> reg
   118/1281 : FixedMult(RegOrCMem,Constant)    -> reg
   119/1274 : FixedMult(reg,RegOrCMemOrIm)    -> reg
   120/1274 : FixedMult(RegOrCMemOrIm,reg)    -> reg
   121/1206 : FixedMult(reg,Constant)    -> reg
   122/1206 : FixedMult(Constant,reg)    -> reg
   123/1160 : FixedMult(reg,Constant)    -> reg
   124/1160 : FixedMult(Constant,reg)    -> reg
   125/1153 : FixedMult(reg,Constant)    -> reg
   126/1153 : FixedMult(Constant,reg)    -> reg
   127/1140 : FixedMult(reg,Constant)    -> reg
   128/1140 : FixedMult(Constant,reg)    -> reg
   129/1090 : FixedMinus(reg,RegOrCMemOrIm)    -> reg
   130/993 : FixedPlus(reg,RegOrCMemOrIm)    -> reg
   131/993 : FixedPlus(RegOrCMemOrIm,reg)    -> reg
   132/922 : FixedAbs(reg)    -> reg
   133/902 : FixedNegate(reg)    -> reg
   134/620 : FrameBase    -> reg
   135/445 : RegOrCMemOrIm    -> reg
   136/430 : mem    -> reg
   137/2728 : FunctionCall(Pass(Nil,reg),ProcedureConstant)    -> freg
   138/2713 : FunctionCall(Pass(Nil,CMem),ProcedureConstant)    -> freg
   139/2697 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> freg
   140/2686 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> freg
   141/2675 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> freg
   142/2641 : FunctionCall(Pass(loadln2,freg),ProcedureConstant)    -> freg
   143/2603 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> freg
   144/2592 : FunctionCall(Pass(Nil,freg),ProcedureConstant)    -> freg
   145/2552 : FunctionCall(arglist,ProcedureConstant)    -> freg
   146/2537 : FunctionCall(arglist,reg)    -> freg
   147/2010 : CheckL(freg,CMem,CMem)    -> freg
   148/1897 : Coerce(freg)    -> freg
   149/1760 : Float(reg)    -> freg
   150/1748 : Float(CMem)    -> freg
   151/1582 : FloatAbs(freg)    -> freg
   152/1577 : FloatDiv(freg,fstack)    -> freg
   153/1572 : FloatDiv(fstack,reg)    -> freg
   154/1567 : FloatDiv(CMem,freg)    -> freg
   155/1562 : FloatDiv(freg,CMem)    -> freg
   156/1557 : FloatMult(freg,fstack)    -> freg
   157/1557 : FloatMult(fstack,freg)    -> freg
   158/1552 : FloatMult(freg,CMem)    -> freg
   159/1552 : FloatMult(CMem,freg)    -> freg
   160/1547 : FloatMinus(freg,fstack)    -> freg
   161/1542 : FloatMinus(fstack,freg)    -> freg
   162/1537 : FloatMinus(CMem,freg)    -> freg
   163/1532 : FloatMinus(freg,CMem)    -> freg
   164/1527 : FloatPlus(freg,fstack)    -> freg
   165/1527 : FloatPlus(fstack,freg)    -> freg
   166/1522 : FloatPlus(freg,CMem)    -> freg
   167/1522 : FloatPlus(CMem,freg)    -> freg
   168/1517 : FloatNegate(freg)    -> freg
   169/490 : CMem    -> freg
   170/497 : freg    -> fstack
   171/2821 : FunctionCall(Pass(Nil,FloatConstant),ProcedureConstant)    -> Constant
   172/2779 : FunctionCall(Pass(Nil,FloatConstant),ProcedureConstant)    -> Constant
   173/1823 : Coerce(Constant)    -> Constant
   174/1778 : Trunc(FloatConstant)    -> Constant
   175/1455 : FixedMod(Constant,Constant)    -> Constant
   176/1411 : FixedDiv(Content(SimpleVariable),Content(SimpleVariable))    -> Constant
   177/1338 : FixedDiv(Constant,Constant)    -> Constant
   178/1135 : FixedMult(RegOrCMemOrIm,Constant)    -> Constant
   179/1135 : FixedMult(Constant,RegOrCMemOrIm)    -> Constant
   180/1131 : FixedMult(Constant,Constant)    -> Constant
   181/1123 : FixedMinus(Content(SimpleVariable),Content(SimpleVariable))    -> Constant
   182/1041 : FixedMinus(Constant,Constant)    -> Constant
   183/935 : FixedPlus(Constant,Constant)    -> Constant
   184/910 : FixedAbs(Constant)    -> Constant
   185/898 : FixedNegate(Constant)    -> Constant
   186/544 : NilConstant    -> Constant
   187/540 : SetConstant    -> Constant
   188/535 : BoolConstant    -> Constant
   189/531 : CharConstant    -> Constant
   190/519 : LongIntConstant    -> Constant
   191/515 : ShortIntConstant    -> Constant
   192/511 : LongCardConstant    -> Constant
   193/507 : ShortCardConstant    -> Constant
   194/2755 : FunctionCall(Pass(Nil,Constant),ProcedureConstant)    -> FloatConstant
   195/2745 : FunctionCall(Pass(Nil,Constant),ProcedureConstant)    -> FloatConstant
   196/1892 : Coerce(FloatConstant)    -> FloatConstant
   197/1887 : Coerce(Constant)    -> FloatConstant
   198/1774 : Float(Constant)    -> FloatConstant
   199/527 : LongRealConstant    -> FloatConstant
   200/523 : RealConstant    -> FloatConstant
   201/1190 : FixedPlus(SimpleVariable,FixedMult(Coerce(Content(SimpleVariable)),Constant))    -> SimpleVariable
   202/1190 : FixedPlus(SimpleVariable,FixedMult(Constant,Coerce(Content(SimpleVariable))))    -> SimpleVariable
   203/1190 : FixedPlus(FixedMult(Coerce(Content(SimpleVariable)),Constant),SimpleVariable)    -> SimpleVariable
   204/1190 : FixedPlus(FixedMult(Constant,Coerce(Content(SimpleVariable))),SimpleVariable)    -> SimpleVariable
   205/1085 : FixedMinus(SimpleVariable,Constant)    -> SimpleVariable
   206/988 : FixedPlus(SimpleVariable,Constant)    -> SimpleVariable
   207/988 : FixedPlus(Constant,SimpleVariable)    -> SimpleVariable
   208/634 : FixedPlus(FrameBase,Constant)    -> SimpleVariable
   209/634 : FixedPlus(Constant,FrameBase)    -> SimpleVariable
   210/579 : StaticVariable    -> SimpleVariable
   211/559 : LocalVariable    -> SimpleVariable
   212/1828 : Coerce(SymPlusOffset)    -> SymPlusOffset
   213/1045 : FixedMinus(SymPlusOffset,Constant)    -> SymPlusOffset
   214/939 : FixedPlus(SymPlusOffset,Constant)    -> SymPlusOffset
   215/939 : FixedPlus(Constant,SymPlusOffset)    -> SymPlusOffset
   216/591 : StaticVariable    -> SymPlusOffset
   217/552 : StringAddr    -> SymPlusOffset
   218/548 : ProcedureConstant    -> SymPlusOffset
   219/332 : Constant    -> SymPlusOffset
   220/1834 : Coerce(RegPlusSymPlusOffset)    -> RegPlusSymPlusOffset
   221/1065 : FixedMinus(RegPlusSymPlusOffset,Constant)    -> RegPlusSymPlusOffset
   222/1055 : FixedMinus(reg,Constant)    -> RegPlusSymPlusOffset
   223/1049 : FixedMinus(reg,Constant)    -> RegPlusSymPlusOffset
   224/959 : FixedPlus(RegPlusSymPlusOffset,Constant)    -> RegPlusSymPlusOffset
   225/959 : FixedPlus(Constant,RegPlusSymPlusOffset)    -> RegPlusSymPlusOffset
   226/949 : FixedPlus(SymPlusOffset,reg)    -> RegPlusSymPlusOffset
   227/949 : FixedPlus(reg,SymPlusOffset)    -> RegPlusSymPlusOffset
   228/943 : FixedPlus(SymPlusOffset,reg)    -> RegPlusSymPlusOffset
   229/943 : FixedPlus(reg,SymPlusOffset)    -> RegPlusSymPlusOffset
   230/571 : LocalVariable    -> RegPlusSymPlusOffset
   231/347 : reg    -> RegPlusSymPlusOffset
   232/341 : reg    -> RegPlusSymPlusOffset
   233/336 : SymPlusOffset    -> RegPlusSymPlusOffset
   234/1841 : Coerce(OffsetPlusIndexMultFaktor)    -> OffsetPlusIndexMultFaktor
   235/1354 : FixedDiv(OffsetPlusIndexMultFaktor,Constant)    -> OffsetPlusIndexMultFaktor
   236/1170 : FixedMult(OffsetPlusIndexMultFaktor,Constant)    -> OffsetPlusIndexMultFaktor
   237/1170 : FixedMult(Constant,OffsetPlusIndexMultFaktor)    -> OffsetPlusIndexMultFaktor
   238/1070 : FixedMinus(OffsetPlusIndexMultFaktor,Constant)    -> OffsetPlusIndexMultFaktor
   239/964 : FixedPlus(OffsetPlusIndexMultFaktor,Constant)    -> OffsetPlusIndexMultFaktor
   240/964 : FixedPlus(Constant,OffsetPlusIndexMultFaktor)    -> OffsetPlusIndexMultFaktor
   241/363 : reg    -> OffsetPlusIndexMultFaktor
   242/357 : reg    -> OffsetPlusIndexMultFaktor
   243/1848 : Coerce(mem)    -> mem
   244/1259 : FixedMult(reg,Constant)    -> mem
   245/1259 : FixedMult(Constant,reg)    -> mem
   246/1244 : FixedMult(reg,Constant)    -> mem
   247/1244 : FixedMult(Constant,reg)    -> mem
   248/1229 : FixedMult(reg,Constant)    -> mem
   249/1229 : FixedMult(Constant,reg)    -> mem
   250/1179 : FixedMult(OffsetPlusIndexMultFaktor,Constant)    -> mem
   251/1179 : FixedMult(Constant,OffsetPlusIndexMultFaktor)    -> mem
   252/1076 : FixedMinus(mem,Constant)    -> mem
   253/979 : FixedPlus(mem,Constant)    -> mem
   254/979 : FixedPlus(Constant,mem)    -> mem
   255/970 : FixedPlus(OffsetPlusIndexMultFaktor,RegPlusSymPlusOffset)    -> mem
   256/970 : FixedPlus(RegPlusSymPlusOffset,OffsetPlusIndexMultFaktor)    -> mem
   257/382 : OffsetPlusIndexMultFaktor    -> mem
   258/373 : RegPlusSymPlusOffset    -> mem
   259/1917 : Coerce(RegOrIm)    -> CMem
   260/1901 : Coerce(freg)    -> CMem
   261/1859 : Coerce(CMem)    -> CMem
   262/689 : Content(mem)    -> CMem
   263/624 : FrameBase    -> CMem
   264/471 : FloatConstant    -> CMem
   265/452 : FloatConstant    -> CMem
   266/418 : Constant    -> RegOrIm
   267/391 : reg    -> RegOrIm
   268/403 : CMem    -> RegOrCMem
   269/397 : reg    -> RegOrCMem
   270/424 : Constant    -> RegOrCMemOrIm
   271/409 : RegOrCMem    -> RegOrCMemOrIm
   272/2471 : PassLong(arglist,reg)    -> arglist
   273/2461 : PassLong(arglist,mem)    -> arglist
   274/2452 : Pass(arglist,freg)    -> arglist
   275/2442 : Pass(arglist,CMem)    -> arglist
   276/2436 : Pass(arglist,Constant)    -> arglist
   277/2418 : Pass(arglist,RegOrCMemOrIm)    -> arglist
   278/2416 : Nil    -> arglist
   279/2668 : Nil    -> loadln2

 +---------------------------------------------+
 I   Trafos                                    |
 +---------------------------------------------+
