@@ -300,17 +300,17 @@ int test_mult01(int a, int b) {
300
300
range (a); // $ range=<=11 range=>=3
301
301
range (b); // $ range=<=23 range=>=5
302
302
int r = a*b; // 15 .. 253
303
- range (r);
303
+ range (r); // $ range=<=253 range=>=15
304
304
total += r;
305
- range (total); // $ MISSING: range=>=1
305
+ range (total); // $ range=<=253 range=>=15
306
306
}
307
307
if (3 <= a && a <= 11 && 0 <= b && b <= 23 ) {
308
308
range (a); // $ range=<=11 range=>=3
309
309
range (b); // $ range=<=23 range=>=0
310
310
int r = a*b; // 0 .. 253
311
- range (r);
311
+ range (r); // $ range=<=253 range=>=0
312
312
total += r;
313
- range (total); // $ MISSING: range=>=0 range=>=3+0
313
+ range (total); // $ range=<=3+253 range=<=506 range=>=0 range=>=3+0
314
314
}
315
315
if (3 <= a && a <= 11 && -13 <= b && b <= 23 ) {
316
316
range (a); // $ range=<=11 range=>=3
@@ -324,19 +324,19 @@ int test_mult01(int a, int b) {
324
324
range (a); // $ range=<=11 range=>=3
325
325
range (b); // $ range=<=0 range=>=-13
326
326
int r = a*b; // -143 .. 0
327
- range (r);
327
+ range (r); // $ range=<=0 range=>=-143
328
328
total += r;
329
- range (total); // $ MISSING: range=<=3+0
329
+ range (total); // $ range=<=3+0 range=>=3-143
330
330
}
331
331
if (3 <= a && a <= 11 && -13 <= b && b <= -7 ) {
332
332
range (a); // $ range=<=11 range=>=3
333
333
range (b); // $ range=<=-7 range=>=-13
334
334
int r = a*b; // -143 .. -21
335
- range (r);
335
+ range (r); // $ range=<=-21 range=>=-143
336
336
total += r;
337
- range (total); // $ MISSING: range=<=3-1
337
+ range (total); // $ range=<=3-21 range=>=3-143 range=>=3-286
338
338
}
339
- range (total); // $ MISSING: range=<=3+0
339
+ range (total); // $ range=<=3+0 range=>=3-143 range=>=3-286
340
340
return total;
341
341
}
342
342
@@ -348,17 +348,17 @@ int test_mult02(int a, int b) {
348
348
range (a); // $ range=<=11 range=>=0
349
349
range (b); // $ range=<=23 range=>=5
350
350
int r = a*b; // 0 .. 253
351
- range (r);
351
+ range (r); // $ range=<=253 range=>=0
352
352
total += r;
353
- range (total); // $ MISSING: range=>=0
353
+ range (total); // $ range=>=0 range=<=253
354
354
}
355
355
if (0 <= a && a <= 11 && 0 <= b && b <= 23 ) {
356
356
range (a); // $ range=<=11 range=>=0
357
357
range (b); // $ range=<=23 range=>=0
358
358
int r = a*b; // 0 .. 253
359
- range (r);
359
+ range (r); // $ range=<=253 range=>=0
360
360
total += r;
361
- range (total); // $ MISSING: range=>=0 range=>=0+0
361
+ range (total); // $ range=>=0 range=>=0+0 range=<=0+253 range=<=506
362
362
}
363
363
if (0 <= a && a <= 11 && -13 <= b && b <= 23 ) {
364
364
range (a); // $ range=<=11 range=>=0
@@ -372,19 +372,19 @@ int test_mult02(int a, int b) {
372
372
range (a); // $ range=<=11 range=>=0
373
373
range (b); // $ range=<=0 range=>=-13
374
374
int r = a*b; // -143 .. 0
375
- range (r);
375
+ range (r); // $ range=<=0 range=>=-143
376
376
total += r;
377
- range (total); // $ MISSING: range=<=0+0
377
+ range (total); // $ range=<=0+0 range=>=0-143
378
378
}
379
379
if (0 <= a && a <= 11 && -13 <= b && b <= -7 ) {
380
380
range (a); // $ range=<=11 range=>=0
381
381
range (b); // $ range=<=-7 range=>=-13
382
382
int r = a*b; // -143 .. 0
383
- range (r);
383
+ range (r); // $ range=<=0 range=>=-143
384
384
total += r;
385
- range (total); // $ MISSING: range=<=0+0
385
+ range (total); // $ range=<=0+0 range=>=0-143 range=>=0-286
386
386
}
387
- range (total); // $ MISSING: range=<=0+0
387
+ range (total); // $ range=<=0+0 range=>=0-143 range=>=0-286
388
388
return total;
389
389
}
390
390
@@ -445,15 +445,15 @@ int test_mult04(int a, int b) {
445
445
range (b); // $ range=<=23 range=>=5
446
446
int r = a*b; // -391 .. 0
447
447
total += r;
448
- range (total); // $ MISSING: range=<=0
448
+ range (total); // $ range=<=0 range=>=-391
449
449
}
450
450
if (-17 <= a && a <= 0 && 0 <= b && b <= 23 ) {
451
451
range (a); // $ range=<=0 range=>=-17
452
452
range (b); // $ range=<=23 range=>=0
453
453
int r = a*b; // -391 .. 0
454
- range (r);
454
+ range (r); // $ range=<=0 range=>=-391
455
455
total += r;
456
- range (total); // $ MISSING: range="<=- ...+0" range=<=0
456
+ range (total); // $ range="<=- ...+0" range=<=0 range=">=- ...-391" range=>=-782
457
457
}
458
458
if (-17 <= a && a <= 0 && -13 <= b && b <= 23 ) {
459
459
range (a); // $ range=<=0 range=>=-17
@@ -467,19 +467,19 @@ int test_mult04(int a, int b) {
467
467
range (a); // $ range=<=0 range=>=-17
468
468
range (b); // $ range=<=0 range=>=-13
469
469
int r = a*b; // 0 .. 221
470
- range (r);
470
+ range (r); // $ range=<=221 range=>=0
471
471
total += r;
472
- range (total); // $ MISSING: range=">=- ...+0"
472
+ range (total); // $ range="<=- ...+221" range=">=- ...+0"
473
473
}
474
474
if (-17 <= a && a <= 0 && -13 <= b && b <= -7 ) {
475
475
range (a); // $ range=<=0 range=>=-17
476
476
range (b); // $ range=<=-7 range=>=-13
477
477
int r = a*b; // 0 .. 221
478
- range (r);
478
+ range (r); // $ range=<=221 range=>=0
479
479
total += r;
480
- range (total); // $ MISSING: range=">=- ...+0"
480
+ range (total); // $ range=">=- ...+0" range="<=- ...+221" range="<=- ...+442 "
481
481
}
482
- range (total); // $ MISSING: range=">=- ...+0"
482
+ range (total); // $ range=">=- ...+0" range="<=- ...+221" range="<=- ...+442 "
483
483
return total;
484
484
}
485
485
@@ -491,17 +491,17 @@ int test_mult05(int a, int b) {
491
491
range (a); // $ range=<=-2 range=>=-17
492
492
range (b); // $ range=<=23 range=>=5
493
493
int r = a*b; // -391 .. -10
494
- range (r);
494
+ range (r); // $ range=<=-10 range=>=-391
495
495
total += r;
496
- range (total); // $ MISSING: range=<=-1
496
+ range (total); // $ range=<=-10 range=>=-391
497
497
}
498
498
if (-17 <= a && a <= -2 && 0 <= b && b <= 23 ) {
499
499
range (a); // $ range=<=-2 range=>=-17
500
500
range (b); // $ range=<=23 range=>=0
501
501
int r = a*b; // -391 .. 0
502
- range (r);
502
+ range (r); // $ range=<=0 range=>=-391
503
503
total += r;
504
- range (total); // $ MISSING: range="<=- ...+0" range=<=0
504
+ range (total); // $ range="<=- ...+0" range=<=0 range=">=- ...-391" range=>=-782
505
505
}
506
506
if (-17 <= a && a <= -2 && -13 <= b && b <= 23 ) {
507
507
range (a); // $ range=<=-2 range=>=-17
@@ -515,19 +515,19 @@ int test_mult05(int a, int b) {
515
515
range (a); // $ range=<=-2 range=>=-17
516
516
range (b); // $ range=<=0 range=>=-13
517
517
int r = a*b; // 0 .. 221
518
- range (r);
518
+ range (r); // $ range=<=221 range=>=0
519
519
total += r;
520
- range (total); // $ MISSING: range=">=- ...+0"
520
+ range (total); // $ range="<=- ...+221" range=">=- ...+0"
521
521
}
522
522
if (-17 <= a && a <= -2 && -13 <= b && b <= -7 ) {
523
523
range (a); // $ range=<=-2 range=>=-17
524
524
range (b); // $ range=<=-7 range=>=-13
525
525
int r = a*b; // 14 .. 221
526
- range (r);
526
+ range (r); // $ range=<=221 range=>=14
527
527
total += r;
528
- range (total); // $ MISSING: range=">=- ...+1 "
528
+ range (total); // $ range="<=- ...+221" range="<=- ...+442" range=" >=- ...+14 "
529
529
}
530
- range (total); // $ MISSING: range=">=- ...+0"
530
+ range (total); // $ range=">=- ...+0" range="<=- ...+221" range="<=- ...+442 "
531
531
return total;
532
532
}
533
533
@@ -741,7 +741,7 @@ unsigned long mult_rounding() {
741
741
range (y); // $ range===1000000003
742
742
range (x); // $ range===1000000003
743
743
xy = x * y;
744
- range (xy);
744
+ range (xy); // $ range===2147483647
745
745
return xy; // BUG: upper bound should be >= 1000000006000000009UL
746
746
}
747
747
@@ -761,13 +761,13 @@ unsigned long mult_lower_bound(unsigned int ui, unsigned long ul) {
761
761
range (ui); // $ range=>=10
762
762
range ((unsigned long )ui); // $ range=>=10
763
763
unsigned long result = (unsigned long )ui * ui;
764
- range (result);
764
+ range (result); // $ range=>=100 range=>=100
765
765
return result; // BUG: upper bound should be >= 18446744065119617025
766
766
}
767
767
if (ul >= 10 ) {
768
768
range (ul); // $ range=>=10
769
769
unsigned long result = ul * ul;
770
- range (result);
770
+ range (result); // $ range=>=100
771
771
return result; // BUG: lower bound should be 0 (overflow is possible)
772
772
}
773
773
return 0 ;
@@ -777,7 +777,7 @@ unsigned long mul_assign(unsigned int ui) {
777
777
if (ui <= 10 && ui >= 2 ) {
778
778
range (ui); // $ range=<=10 range=>=2
779
779
ui *= ui + 0 ;
780
- range (ui);
780
+ range (ui); // $ range=<=100 range=>=4
781
781
return ui; // 4 .. 100
782
782
}
783
783
@@ -813,7 +813,7 @@ int mul_by_constant(int i, int j) {
813
813
range (i); // $ range===-1
814
814
range ((int )0xffFFffFF ); // $ range===-1
815
815
i = i * (int )0xffFFffFF ; // fully converted literal is -1
816
- range (i); // 1 .. 1
816
+ range (i); // $ range=== 1
817
817
}
818
818
i = i * -1 ;
819
819
range ( i); // -2^31 .. 2^31-1
0 commit comments