node f(c :bool; x :int) returns (y :int)
let
  y = (0 fby x) when c
tel

node nn(x:int) returns (y:int)
let
  y = 0 fby x
tel

node ff(x:int) returns (y :int)
let
  y = x + 1
tel

node g(c :bool) returns (y,y2 :int)
let
  y = nn(1) when c;
  y2 = ff(1) when c 
tel

node main() returns (y,y2:int)
var y',y'2:int;c:bool;
let
  c = false fby false fby true fby c;
  (y',y'2) = g(c);
  (y,y2) = merge c (y',y'2) (0,0)
tel

