Attic/bench.prs
changeset 710 183663740fb7
equal deleted inserted replaced
709:c112a6cb5e52 710:183663740fb7
       
     1 val bench = List(
       
     2   ArrayDef("mem", 30000),
       
     3   Assign("ptr", Num(15000)),
       
     4   Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
     5   AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))),
       
     6   While(
       
     7     Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
     8     List(
       
     9       Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
    10       AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(13))),
       
    11       Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    12       AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    13       Skip
       
    14     )
       
    15   ),
       
    16   Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
    17   While(
       
    18     Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    19     List(
       
    20       While(
       
    21         Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    22         List(
       
    23           Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    24           AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    25           Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    26           AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    27           Assign("ptr", Aop("-", Var("ptr"), Num(2))),
       
    28           AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    29           Skip
       
    30         )
       
    31       ),
       
    32       Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    33       While(
       
    34         Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    35         List(
       
    36           Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
    37           AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    38           Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    39           AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    40           Skip
       
    41         )
       
    42       ),
       
    43       AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(8))),
       
    44       While(
       
    45         Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    46         List(
       
    47           Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    48           AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(8))),
       
    49           Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
    50           AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    51           Skip
       
    52         )
       
    53       ),
       
    54       Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    55       Assign("x", Ref("mem", Var("ptr"))),
       
    56       Write("x"),
       
    57       AssignA("mem", Var("ptr"), Num(0)),
       
    58       Assign("ptr", Aop("-", Var("ptr"), Num(2))),
       
    59       Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    60       AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))),
       
    61       While(
       
    62         Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    63         List(
       
    64           Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    65           AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))),
       
    66           While(
       
    67             Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    68             List(
       
    69               Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    70               AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(2))),
       
    71               AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(8))),
       
    72               While(
       
    73                 Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    74                 List(
       
    75                   Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    76                   AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))),
       
    77                   While(
       
    78                     Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    79                     List(
       
    80                       Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    81                       AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))),
       
    82                       While(
       
    83                         Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    84                         List(
       
    85                           Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    86                           AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))),
       
    87                           While(
       
    88                             Bop("!=", Ref("mem", Var("ptr")), Num(0)),
       
    89                             List(
       
    90                               Assign("ptr", Aop("+", Var("ptr"), Num(1))),
       
    91                               AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(1))),
       
    92                               AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(9))),
       
    93                               AssignA("mem", Var("ptr"), Num(0)),
       
    94                               Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
    95                               AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
    96                               Skip
       
    97                             )
       
    98                           ),
       
    99                           Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
   100                           AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
   101                           Skip
       
   102                         )
       
   103                       ),
       
   104                       Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
   105                       AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
   106                       Skip
       
   107                     )
       
   108                   ),
       
   109                   Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
   110                   AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
   111                   Skip
       
   112                 )
       
   113               ),
       
   114               Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
   115               AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
   116               Skip
       
   117             )
       
   118           ),
       
   119           Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
   120           AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
   121           Skip
       
   122         )
       
   123       ),
       
   124       Assign("ptr", Aop("-", Var("ptr"), Num(1))),
       
   125       AssignA("mem", Var("ptr"), Aop("-", Ref("mem", Var("ptr")), Num(1))),
       
   126       Skip
       
   127     )
       
   128   ),
       
   129   AssignA("mem", Var("ptr"), Aop("+", Ref("mem", Var("ptr")), Num(10))),
       
   130   Assign("x", Ref("mem", Var("ptr"))),
       
   131   Write("x"),
       
   132   Skip
       
   133 )