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 @0,1,2,3⦊is_true = std::env::args().len() == 1;
let (mut a, mut b, mut c) = (0, 0, 0)⦉@0,1,2,3;
if @0,1,2,3⦊is_true⦉@0,1,2,3 @4,6⦊{
a = 1;
b = 10;
c = 100;
}⦉@4,6@5⦊‸⦉@5
let
@11⦊somebool⦉@11
=
@7⦊a < b⦉@7
||
@10⦊b < c⦉@10@8⦊‸⦉@8@9⦊‸⦉@9
;
let
@15⦊somebool⦉@15
=
@11⦊b < a⦉@11
||
@14⦊b < c⦉@14@12⦊‸⦉@12@13⦊‸⦉@13
;
let @19⦊somebool⦉@19 = @15⦊a < b⦉@15 && @18⦊b < c⦉@18@16⦊‸⦉@16@17⦊‸⦉@17;
let @23⦊somebool⦉@23 = @19⦊b < a⦉@19 && @22⦊b < c⦉@22@20⦊‸⦉@20@21⦊‸⦉@21;
if
@23⦊!
is_true⦉@23
@24,26⦊{
a = 2
;
}⦉@24,26@25⦊‸⦉@25
if
@27⦊is_true⦉@27
@28,30⦊{
b = 30
;
}⦉@28,30
else
@29⦊{
c = 400
;
}⦉@29
if @31⦊!is_true⦉@31 @32,34⦊{
a = 2;
}⦉@32,34@33⦊‸⦉@33
if @35⦊is_true⦉@35 @36,38⦊{
b = 30;
}⦉@36,38 else @37⦊{
c = 400;
}⦉@37
}@39⦊‸⦉@39