(* TEST: [-asc -tc] *) type rec: [character: x; integer: y] type T2: rec -> integer type main: string -> integer function entry: main function bar: T2 bar (r,s) := { return 0; } entry (arg) := { [ integer: r ; integer: s; Boolean: x] (* x := (r < s) & x; *) if ( ( r < s ) & (s = r) ) then { r := 5; } else { r := 7; } return 0; }