(* pour debugger
   set arguments -I test/good -v test/good/t2.ept *)

node h(x,z,m:int) returns (o:int)
  var k:int;
      last w: int;
  let
    automaton
      state S1
        var r:int;
        do
         k = m + 2;
         r = k + 3;
         w = 1 + 2;
        until (1 = 0) then S2
           |  (1 = 2) then S1
        unless (2 = k) then S2
      state S2
        do
         k = 2;
        until (1 = 0) then S2
    end;
    present
      | (x = 0) do o = pre o + 2
      | (x = 2) do o = 4
    default do o = 2
    end
  tel