@0,1,2,3⦊fn main() {
// Initialize test constants in a way that cannot be determined at compile time, to ensure
// rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
// dependent conditions.
let is_true = std::env::args().len() == 1;
let (mut a, mut b, mut c) = (0, 0, 0);
if is_true⦉@0,1,2,3 @4⦊{
a = 1;
b = 10;
c = 100;
}⦉@4@5⦊‸⦉@5
let
@10⦊somebool⦉@10
=
@6⦊a < b⦉@6
||
@9⦊b < c⦉@9
;
let
@14⦊somebool⦉@14
=
@10⦊b < a⦉@10
||
@13⦊b < c⦉@13
;
let @18⦊somebool⦉@18 = @14⦊a < b⦉@14 && @17⦊b < c⦉@17;
let @22⦊somebool⦉@22 = @18⦊b < a⦉@18 && @21⦊b < c⦉@21;
if
@22⦊!
is_true⦉@22
@23⦊{
a = 2
;
}⦉@23@24⦊‸⦉@24
if
@25⦊is_true⦉@25
@26⦊{
b = 30
;
}⦉@26
else
@27⦊{
c = 400
;
}⦉@27
if @28⦊!is_true⦉@28 @29⦊{
a = 2;
}⦉@29@30⦊‸⦉@30
if @31⦊is_true⦉@31 @32⦊{
b = 30;
}⦉@32 else @33⦊{
c = 400;
}⦉@33
}@34⦊‸⦉@34