node f(c:bool;x:int) returns (o:int)
let
  reset
  o = merge c (true -> (0 fby x) when c) (false -> 0 fby (o whenot c));
  every true
tel

node main() returns (o:int)
var half:bool;
let
  half = false fby not half;
  o = f(half,5);
tel
