@@ -18,7 +18,7 @@ int test2(struct List* p) {
1818 int count = 0 ;
1919 for (; p; p = p->next ) {
2020 count = (count+1 ) % 10 ;
21- range (count); // $ range=<=9
21+ range (count); // $ range=<=9 range=<=count:p+1
2222 }
2323 range (count); // $ range=<=9
2424 return count;
@@ -29,7 +29,7 @@ int test3(struct List* p) {
2929 for (; p; p = p->next ) {
3030 range (count++); // $ range=<=9
3131 count = count % 10 ;
32- range (count); // $ range=<=9
32+ range (count); // $ range=<=9 range="<=... +++0" range=<=count:p+1
3333 }
3434 range (count); // $ range=<=9
3535 return count;
@@ -40,13 +40,13 @@ int test4() {
4040 int total = 0 ;
4141 for (i = 0 ; i < 2 ; i = i+1 ) {
4242 range (i); // $ range=<=1 range=>=0
43- range (total);
43+ range (total); // $ range=>=0
4444 total += i;
45- range (total);
45+ range (total); // $ range=>=0 range=>=i+0
4646 }
47- range (total);
47+ range (total); // $ range=>=0
4848 range (i); // $ range===2
49- range (total + i); // $ range=>=i+1
49+ range (total + i); // $ range=>=i+1 range=>=2 range=>=i+0
5050 return total + i;
5151}
5252
@@ -55,13 +55,13 @@ int test5() {
5555 int total = 0 ;
5656 for (i = 0 ; i < 2 ; i++) {
5757 range (i); // $ range=<=1 range=>=0
58- range (total);
58+ range (total); // $ range=>=0
5959 total += i;
60- range (total);
60+ range (total); // $ range=>=0 range=>=i+0
6161 }
62- range (total);
62+ range (total); // $ range=>=0
6363 range (i); // $ range===2
64- range (total + i); // $ range=>=i+1
64+ range (total + i); // $ range=>=i+1 range=>=2 range=>=i+0
6565 return total + i;
6666}
6767
@@ -70,9 +70,9 @@ int test6() {
7070 int total = 0 ;
7171 for (i = 0 ; i+2 < 4 ; i = i+1 ) {
7272 range (i); // $ range=<=1 range=>=0
73- range (total);
73+ range (total); // $ range=>=0
7474 total += i;
75- range (total);
75+ range (total); // $ range=>=0 range=>=i+0
7676 }
7777 return total + i;
7878}
@@ -149,7 +149,7 @@ int test11(char *p) {
149149 range (*p);
150150 }
151151 if (c == ' :' ) {
152- range (c);
152+ range (c); // $ range===58
153153 c = *p;
154154 range (*p);
155155 if (c != ' \0 ' ) {
@@ -310,15 +310,15 @@ int test_mult01(int a, int b) {
310310 int r = a*b; // 0 .. 253
311311 range (r);
312312 total += r;
313- range (total); // $ range=>=0 range=>=3+0
313+ range (total); // $ range=>=0 range=>=3+0 range=">=... * ...+0"
314314 }
315315 if (3 <= a && a <= 11 && -13 <= b && b <= 23 ) {
316316 range (a); // $ range=<=11 range=>=3
317317 range (b); // $ range=<=23 range=>=-13
318318 int r = a*b; // -143 .. 253
319319 range (r);
320320 total += r;
321- range (total);
321+ range (total); // $ range=">=... * ...+0"
322322 }
323323 if (3 <= a && a <= 11 && -13 <= b && b <= 0 ) {
324324 range (a); // $ range=<=11 range=>=3
@@ -358,15 +358,15 @@ int test_mult02(int a, int b) {
358358 int r = a*b; // 0 .. 253
359359 range (r);
360360 total += r;
361- range (total); // $ range=>=0 range=>=0+0
361+ range (total); // $ range=>=0 range=>=0+0 range=">=... * ...+0"
362362 }
363363 if (0 <= a && a <= 11 && -13 <= b && b <= 23 ) {
364364 range (a); // $ range=<=11 range=>=0
365365 range (b); // $ range=<=23 range=>=-13
366366 int r = a*b; // -143 .. 253
367367 range (r);
368368 total += r;
369- range (total);
369+ range (total); // $ range=">=... * ...+0"
370370 }
371371 if (0 <= a && a <= 11 && -13 <= b && b <= 0 ) {
372372 range (a); // $ range=<=11 range=>=0
@@ -453,15 +453,15 @@ int test_mult04(int a, int b) {
453453 int r = a*b; // -391 .. 0
454454 range (r);
455455 total += r;
456- range (total); // $ range="<=- ...+0" range=<=0
456+ range (total); // $ range="<=- ...+0" range=<=0 range="<=... * ...+0"
457457 }
458458 if (-17 <= a && a <= 0 && -13 <= b && b <= 23 ) {
459459 range (a); // $ range=<=0 range=>=-17
460460 range (b); // $ range=<=23 range=>=-13
461461 int r = a*b; // -391 .. 221
462462 range (r);
463463 total += r;
464- range (total);
464+ range (total); // $ range="<=... * ...+0"
465465 }
466466 if (-17 <= a && a <= 0 && -13 <= b && b <= 0 ) {
467467 range (a); // $ range=<=0 range=>=-17
@@ -501,15 +501,15 @@ int test_mult05(int a, int b) {
501501 int r = a*b; // -391 .. 0
502502 range (r);
503503 total += r;
504- range (total); // $ range="<=- ...+0" range=<=0
504+ range (total); // $ range="<=- ...+0" range=<=0 range="<=... * ...+0"
505505 }
506506 if (-17 <= a && a <= -2 && -13 <= b && b <= 23 ) {
507507 range (a); // $ range=<=-2 range=>=-17
508508 range (b); // $ range=<=23 range=>=-13
509509 int r = a*b; // -391 .. 221
510510 range (r);
511511 total += r;
512- range (total);
512+ range (total); // $ range="<=... * ...+0"
513513 }
514514 if (-17 <= a && a <= -2 && -13 <= b && b <= 0 ) {
515515 range (a); // $ range=<=-2 range=>=-17
@@ -628,7 +628,7 @@ unsigned int test_ternary02(unsigned int x) {
628628 (range (x), 5 ); // $ range=>=300
629629 range (y5); // y6 >= 0
630630 }
631- range (y1 + y2 + y3 + y4 + y5); // $ range=">=... = ...:... ? ... : ...+0 " range=">=call to range+0 "
631+ range (y1 + y2 + y3 + y4 + y5); // $ range=">=... = ...:... ? ... : ...+1 " range=">=call to range+1 "
632632 return y1 + y2 + y3 + y4 + y5;
633633}
634634
@@ -693,15 +693,15 @@ int test_unsigned_mult01(unsigned int a, unsigned b) {
693693 int r = a*b; // 0 .. 253
694694 range (r);
695695 total += r;
696- range (total); // $ range=">=(unsigned int)...+0" range=>=0
696+ range (total); // $ range=">=(unsigned int)...+0" range=>=0 range=>=(int)...+0
697697 }
698698 if (3 <= a && a <= 11 && 13 <= b && b <= 23 ) {
699699 range (a); // $ range=<=11 range=>=3
700700 range (b); // $ range=<=23 range=>=13
701701 int r = a*b; // 39 .. 253
702702 range (r);
703703 total += r;
704- range (total); // $ range=">=(unsigned int)...+1" range=>=1
704+ range (total); // $ range=">=(unsigned int)...+1" range=>=1 range=>=(int)...+0
705705 }
706706 range (total); // $ range=">=(unsigned int)...+0" range=>=0
707707 return total;
@@ -722,14 +722,14 @@ int test_unsigned_mult02(unsigned b) {
722722 int r = 11 *b; // 0 .. 253
723723 range (r);
724724 total += r;
725- range (total); // $ range=">=(unsigned int)...+0" range=>=0
725+ range (total); // $ range=">=(unsigned int)...+0" range=>=0 range=>=(int)...+0
726726 }
727727 if (13 <= b && b <= 23 ) {
728728 range (b); // $ range=<=23 range=>=13
729729 int r = 11 *b; // 143 .. 253
730730 range (r);
731731 total += r;
732- range (total); // $ range=">=(unsigned int)...+1" range=>=1
732+ range (total); // $ range=">=(unsigned int)...+1" range=>=1 range=>=(int)...+0
733733 }
734734 range (total); // $ range=">=(unsigned int)...+0" range=>=0
735735 return total;
@@ -856,18 +856,18 @@ int notequal_type_endpoint(unsigned n) {
856856
857857void notequal_refinement (short n) {
858858 if (n < 0 ) {
859- range (n);
859+ range (n); // $ range=<=-1
860860 return ;
861861 }
862862
863863 if (n == 0 ) {
864864 range (n); // 0 .. 0
865865 } else {
866- range (n); // 1 ..
866+ range (n); // $ range=>=1
867867 }
868868
869869 if (n) {
870- range (n); // 1 ..
870+ range (n); // $ range=>=1
871871 } else {
872872 range (n); // 0 .. 0
873873 }
@@ -883,25 +883,29 @@ void notequal_refinement(short n) {
883883void notequal_variations (short n, float f) {
884884 if (n != 0 ) {
885885 if (n >= 0 ) {
886- range (n); // 1 .. [BUG: we can't handle `!=` coming first]
886+ range (n); // $ range=>=1
887887 }
888888 }
889889
890890 if (n >= 5 ) {
891891 if (2 * n - 10 == 0 ) { // Same as `n == 10/2` (modulo overflow)
892- range (n);
892+ range (n); // $ range=>=5 MISSING: range===5
893893 return ;
894894 }
895- range (n); // 6 ..
895+ range (n); // $ range=>=5 MISSING: range=>=6
896896 }
897897
898898 if (n != -32768 && n != -32767 ) {
899899 range (n); // -32766 ..
900900 }
901901
902902 if (n >= 0 ) {
903- n ? (range (n), n) : (range (n), n); // ? 1.. : 0..0
904- !n ? (range (n), n) : (range (n), n); // ? 0..0 : 1..
903+ n ?
904+ (range (n), n) // $ range=>=1
905+ : (range (n), n); // $ MISSING: range===0
906+ !n ?
907+ (range (n), n) // $ MISSING: range===0
908+ : (range (n), n); // $ range=>=1
905909 }
906910}
907911
@@ -917,7 +921,7 @@ void two_bounds_from_one_test(short ss, unsigned short us) {
917921 }
918922
919923 if (ss < 0x8001 ) { // Lower bound removed in `getDefLowerBounds`
920- range (ss); // - 32768 .. 32767
924+ range (ss); // $ range=<= 32768 MISSING: range=>=-32768
921925 }
922926
923927 if ((short )us >= 0 ) {
@@ -942,7 +946,7 @@ void widen_recursive_expr() {
942946 for (s = 0 ; s < 10 ; s++) {
943947 range (s); // $ range=<=9 range=>=0
944948 int result = s + s;
945- range (result); // 0 .. 18
949+ range (result); // $ range=>=0 range=>=s+0 // 0 .. 18
946950 }
947951}
948952
0 commit comments