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