== neq == fun neq(a: Int, b: Int) { if (a != b) {} } --------------------- L0: 1 v(a: Int) magic[FAKE_INITIALIZER](a: Int) -> w(a|) v(b: Int) magic[FAKE_INITIALIZER](b: Int) -> w(b|) 2 mark({ if (a != b) {} }) mark(if (a != b) {}) r(a) -> r(b) -> mark(a != b) call(a != b, equals|, ) -> jf(L2|) NEXT:[read (Unit), mark({})] 3 mark({}) read (Unit) 2 jmp(L3) NEXT:[merge(if (a != b) {}|!) -> ] L2 [else branch]: read (Unit) PREV:[jf(L2|)] L3 ['if' expression result]: merge(if (a != b) {}|!) -> PREV:[jmp(L3), read (Unit)] L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] =====================