File tree Expand file tree Collapse file tree 13 files changed +76
-19
lines changed Expand file tree Collapse file tree 13 files changed +76
-19
lines changed Original file line number Diff line number Diff line change 3
3
4
4
int main ()
5
5
{
6
- fmax ();
7
- assert (0 );
6
+ double d1 , d2 ;
7
+ __CPROVER_assume (!isnan (d1 ) || !isnan (d2 ));
8
+ double r = fmax (d1 , d2 );
9
+ assert (!isnan (d1 ) || r == d2 );
10
+ assert (!isnan (d2 ) || r == d1 );
11
+ assert (isnan (d1 ) || isnan (d2 ) || (d1 > d2 ? r == d1 : r == d2 ));
8
12
return 0 ;
9
13
}
Original file line number Diff line number Diff line change 1
- KNOWNBUG
1
+ CORE
2
2
main.c
3
- --pointer-check --bounds-check
3
+ --pointer-check --bounds-check --nan-check
4
4
^EXIT=0$
5
5
^SIGNAL=0$
6
6
^VERIFICATION SUCCESSFUL$
Original file line number Diff line number Diff line change
1
+ #include <assert.h>
2
+ #include <math.h>
3
+
4
+ int main ()
5
+ {
6
+ float f1 , f2 ;
7
+ __CPROVER_assume (!isnan (f1 ) || !isnan (f2 ));
8
+ float r = fmaxf (f1 , f2 );
9
+ assert (!isnan (f1 ) || r == f2 );
10
+ assert (!isnan (f2 ) || r == f1 );
11
+ assert (isnan (f1 ) || isnan (f2 ) || (f1 > f2 ? r == f1 : r == f2 ));
12
+ return 0 ;
13
+ }
Original file line number Diff line number Diff line change
1
+ CORE
2
+ main.c
3
+ --pointer-check --bounds-check --nan-check
4
+ ^EXIT=0$
5
+ ^SIGNAL=0$
6
+ ^VERIFICATION SUCCESSFUL$
7
+ --
8
+ ^warning: ignoring
Original file line number Diff line number Diff line change
1
+ #include <assert.h>
2
+ #include <math.h>
3
+
4
+ int main ()
5
+ {
6
+ long double d1 , d2 ;
7
+ __CPROVER_assume (!isnan (d1 ) || !isnan (d2 ));
8
+ long double r = fmaxl (d1 , d2 );
9
+ assert (!isnan (d1 ) || r == d2 );
10
+ assert (!isnan (d2 ) || r == d1 );
11
+ assert (isnan (d1 ) || isnan (d2 ) || (d1 > d2 ? r == d1 : r == d2 ));
12
+ return 0 ;
13
+ }
Original file line number Diff line number Diff line change
1
+ CORE
2
+ main.c
3
+ --pointer-check --bounds-check --nan-check
4
+ ^EXIT=0$
5
+ ^SIGNAL=0$
6
+ ^VERIFICATION SUCCESSFUL$
7
+ --
8
+ ^warning: ignoring
Original file line number Diff line number Diff line change 3
3
4
4
int main ()
5
5
{
6
- fmin ();
7
- assert (0 );
6
+ double d1 , d2 ;
7
+ __CPROVER_assume (!isnan (d1 ) || !isnan (d2 ));
8
+ double r = fmin (d1 , d2 );
9
+ assert (!isnan (d1 ) || r == d2 );
10
+ assert (!isnan (d2 ) || r == d1 );
11
+ assert (isnan (d1 ) || isnan (d2 ) || (d1 < d2 ? r == d1 : r == d2 ));
8
12
return 0 ;
9
13
}
Original file line number Diff line number Diff line change 1
- KNOWNBUG
1
+ CORE
2
2
main.c
3
- --pointer-check --bounds-check
3
+ --pointer-check --bounds-check --nan-check
4
4
^EXIT=0$
5
5
^SIGNAL=0$
6
6
^VERIFICATION SUCCESSFUL$
Original file line number Diff line number Diff line change 3
3
4
4
int main ()
5
5
{
6
- fminf ();
7
- assert (0 );
6
+ float f1 , f2 ;
7
+ __CPROVER_assume (!isnan (f1 ) || !isnan (f2 ));
8
+ float r = fminf (f1 , f2 );
9
+ assert (!isnan (f1 ) || r == f2 );
10
+ assert (!isnan (f2 ) || r == f1 );
11
+ assert (isnan (f1 ) || isnan (f2 ) || (f1 < f2 ? r == f1 : r == f2 ));
8
12
return 0 ;
9
13
}
Original file line number Diff line number Diff line change 1
- KNOWNBUG
1
+ CORE
2
2
main.c
3
- --pointer-check --bounds-check
3
+ --pointer-check --bounds-check --nan-check
4
4
^EXIT=0$
5
5
^SIGNAL=0$
6
6
^VERIFICATION SUCCESSFUL$
You can’t perform that action at this time.
0 commit comments