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