// S : tags interval min $TAGS // S : expect --result valid // S : cc -o test.bc $CC_OPT $file // S : verify --lamp interval -o nofail:malloc $V_OPT test.bc #include #include #include int main() { auto a = __lamp::lift( 4, 8 ); // a = [ 4, 8 ] auto b = __lamp::lift( 1, 3 ); // b = [ 1, 3 ] auto c = a * b; // c = [ 4, 24 ] if ( c > 12 ) // c = [ 13, 24 ] { assert( a == __lamp::lift( 4, 8 ) ); //OK assert( b == __lamp::lift( 1, 3 ) ); //OK } else // c = [ 4, 12 ] { assert( a == __lamp::lift( 4, 8 ) ); //OK assert( b == __lamp::lift( 1, 3 ) ); //OK } }